friendica / friendica/docker

Troubles installing

Open
#277 19 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
68
Forks
26
PR merge metrics
No merged PRs in 30d

Description

With the update as of yesterday I'm trying again to install Friendica via Docker. I pruned the docker system and volumes prior, so it should be a clean install.

I'm using the default image with Apache, and the example docker-compose script, with the only changes made that I have a password entered and the admin email.

```
services:
db:
image: mariadb
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_USER=friendica
- MYSQL_PASSWORD=mypASS1
- MYSQL_DATABASE=friendica
- MYSQL_RANDOM_ROOT_PASSWORD=yes

app:
image: friendica
restart: always
volumes:
- friendica:/var/www/html
ports:
- "8080:80"
environment:
- MYSQL_HOST=db
- MYSQL_USER=friendica
- MYSQL_PASSWORD=mypASS1
- MYSQL_DATABASE=friendica
- FRIENDICA_ADMIN_MAIL=comradeferret@xxxxx.com
depends_on:
- db

volumes:
db:
friendica:
```

I get to the point in the setup where it asks for my admin email, which I enter and submit, and then get only a blank page.

```

Friendica Social Network | Install
var baseurl="http://192.168.50.230:8080";

// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat
// Prevents links to switch to Safari in a home screen app - see https://gist.github.com/irae/1042167
(function(a,b,c){if(c in b&&b[c]){var d,e=a.location,f=/^(a|html)$/i;a.addEventListener("click",function(a){d=a.target;while(!f.test(d.nodeName))d=d.parentNode;"href"in d&&(chref=d.href).replace("http://192.168.50.230:8080/", "").replace(e.href,"").indexOf("#")&&(!/^[a-z\+\.\-]+:/i.test(chref)||chref.indexOf(e.protocol+"//"+e.host)===0)&&(a.preventDefault(),e.href=d.href)},!1)}})(document,window.navigator,"standalone");
// |license-end

window.onload = function(){
new EmojiPicker({
trigger: [
{
selector: '.emojis-post',
insertInto: ['#comment-edit-text-0', '#profile-jot-text']
},
{
selector: '.emojis',
insertInto: ['.comment-edit-text-full']
}
],
closeButton: true
});
};

const updateInterval = 40000;
const localUser = false;

// Lifted from https://css-tricks.com/snippets/jquery/move-cursor-to-end-of-textarea-or-input/
jQuery.fn.putCursorAtEnd = function() {
return this.each(function() {
// Cache references
var $el = $(this),
el = this;

// Only focus if input isn't already
if (!$el.is(":focus")) {
$el.focus();
}

// If this function exists... (IE 9+)
if (el.setSelectionRange) {
// Double the length because Opera is inconsistent about whether a carriage return is one character or two.
var len = $el.val().length * 2;

// Timeout seems to be required for Blink
setTimeout(function() {
el.setSelectionRange(len, len);
}, 1);
} else {
// As a fallback, replace the contents with itself
// Doesn't work in Chrome, but Chrome supports setSelectionRange
$el.val($el.val());
}

// Scroll to the bottom, in case we're in a tall textarea
// (Necessary for Firefox and Chrome)
this.scrollTop = 999999;
});
};

function confirmDelete() { return confirm(""); }
function commentExpand(id) {
$("#comment-edit-text-" + id).putCursorAtEnd();
$("#comment-edit-text-" + id).addClass("comment-edit-text-full");
$("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
$("#mod-cmnt-wrap-" + id).show();
openMenu("comment-edit-submit-wrapper-" + id);
return true;
}
function commentOpen(obj,id) {
if (obj.value == "") {
$("#comment-edit-text-" + id).addClass("comment-edit-text-full");
$("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
$("#mod-cmnt-wrap-" + id).show();
openMenu("comment-edit-submit-wrapper-" + id);
return true;
}
return false;
}
function commentClose(obj,id) {
if (obj.value == "") {
$("#comment-edit-text-" + id).removeClass("comment-edit-text-full");
$("#comment-edit-text-" + id).addClass("comment-edit-text-empty");
$("#mod-cmnt-wrap-" + id).hide();
closeMenu("comment-edit-submit-wrapper-" + id);
return true;
}
return false;
}

function commentInsert(obj,id) {
var tmpStr = $("#comment-edit-text-" + id).val();
if (tmpStr == "") {
$("#comment-edit-text-" + id).addClass("comment-edit-text-full");
$("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
openMenu("comment-edit-submit-wrapper-" + id);
}
var ins = $(obj).html();
ins = ins.replace("&lt;","<");
ins = ins.replace("&gt;",">");
ins = ins.replace("&amp;","&");
ins = ins.replace("&quot;","\"");
$("#comment-edit-text-" + id).val(tmpStr + ins);
}

function showHideCommentBox(id) {
if ($("#comment-edit-form-" + id).is(":visible")) {
$("#comment-edit-form-" + id).hide();
} else {
$("#comment-edit-form-" + id).show();
}
}







```

Container logs are nothing interesting, just GET requests. Running off of Debian, firewall is down for the sake of just getting this to work.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the blank page with the example docker-compose configuration and inspect the app and database container output after submitting the admin email. Done means identifying the failing installation path and verifying that setup completes without returning a blank response.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, docker-compose, mariadb
Domain
databases, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.