Skip to main content


!Friendica Support Hi all.

Running via Docker behind nginx proxy manager. Got the three containers shown.

The UI is a bit sluggish. In particular, it takes forever for the notifications to show up after doing pretty much anything.

So my question is, is there anything stopping me spinning up another UI or cron container on another machine and trying to parallelise things a bit? Is there anything special I have to do to enable that?

TIA

Friendica Support reshared this.

in reply to Sarah Brown

I guess that the best would be to use the daemon instead of cron. How do you store the contact avatars? And how do you store photos? Depending on this,you would need to synchronize some folders as well.
in reply to Michael Vogel

@Michael Vogel Storage config is just set to "Database", so I assume everything is in there?

Friendica Support reshared this.

in reply to Sarah Brown

Yeah, sounds fine for this purpose. I guess that with the daemon it should be possible to have one docker for the db,one docker for the daemon and multiple ones for the frontend. But this is never tested.
in reply to Michael Vogel

@Michael Vogel But if I span up another frontend on another machine, coping the friendica data volume in the process, and pointed it at the database, it should just work?

Friendica Support reshared this.

in reply to Sarah Brown

I guess so. But of course updates are more demanding, since you had to keep all machines totally in sync. Possibly it would be the best, if daemon and the front end systems would share a single data drive.
in reply to Sarah Brown

@Sarah Brown when it works, please document it and tell about your performance experience.
in reply to Sarah Brown

Also I guess there is not much experience from others.
in reply to Michael Vogel

@Michael Vogel Should note in case it's not clear, the container called "friendica-cron" is actually running the daemon, starting with this script:

#!/bin/sh
trap "break;exit" HUP INT TERM

while [ ! -f /var/www/html/bin/daemon.php ]; do
  sleep 1
done

echo "Waiting for MySQL $MYSQL_HOST initialization..."
if php /var/www/html/bin/wait-for-connection "$MYSQL_HOST" "${MYSQL_PORT:-3306}" 300; then
  sh /setup_msmtp.sh
  exec gosu www-data:www-data tini -- php /var/www/html/bin/daemon.php -f start
else
  echo "[ERROR] Waited 300 seconds, no response" >&2
fi

Friendica Support reshared this.