2
0
Fork 0
mirror of https://github.com/friendica/docker synced 2024-05-24 01:34:58 +02:00

Merge pull request #148 from nupplaphil/enh/README

README & Example fixings
This commit is contained in:
Hypolite Petovan 2021-03-28 09:50:03 -04:00 committed by GitHub
commit e1b356aea8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 18 additions and 98 deletions

View file

@ -1,22 +1,12 @@
# Examples section
In this subfolder are some examples how to use the docker images.
There are two section:
There is currently one section:
* [`dockerfiles`](https://github.com/friendica/docker/tree/stable/.examples/dockerfiles)
* [`docker-compose`](https://github.com/friendica/docker/tree/stable/.examples/docker-compose)
The `dockerfiles` are derived images that add or alter certain functionalities of the default docker images.
In the `docker-compose` subfolder are examples for deployment of the application.
## Dockerfiles
The Dockerfiles use the default images as base image and build on top of it.
Examples | Descriptions
-------- | -------
[cron](https://github.com/friendica/docker/tree/stable/.examples/dockerfiles/cron) | uses supervisor to run the cron job inside the container (so no extra container is needed).
## docker-compose
In `docker-compose` additional services are bundled to create a complex Friendica installation.

View file

@ -1,4 +1,4 @@
FROM friendica/server:apache
FROM friendica:apache
RUN mkdir -p /usr/src/config
COPY addon.config.php /usr/src/config/

View file

@ -1,4 +1,4 @@
FROM friendica/server:fpm-alpine
FROM friendica:fpm-alpine
RUN mkdir -p /usr/src/config
COPY addon.config.php /usr/src/config/

View file

@ -1,4 +1,4 @@
FROM friendica/server:fpm
FROM friendica:fpm
RUN mkdir -p /usr/src/config
COPY addon.config.php /usr/src/config/

View file

@ -1,5 +1,5 @@
# Based on .exmples/dockerfiles/smtp/apache
FROM friendica/server:apache
FROM friendica:apache
# simple = using an smtp without any credentials (mostly in local networks)
# custom = you need to set host, port, auth_options, authinfo (e.g. for GMX support)
@ -9,4 +9,4 @@ ENV SMTP_HOST smtp.example.org
COPY *.sh /
RUN chmod +x /*.sh
RUN /smtp-config.sh
RUN /smtp-config.sh

View file

@ -1,5 +1,5 @@
# Based on .exmples/dockerfiles/smtp/fpm-alpine
FROM friendica/server:fpm-alpine
FROM friendica:fpm-alpine
ENV SMTP_HOST smtp.example.org
@ -15,4 +15,4 @@ RUN set -ex; \
# simple = using an smtp without any credentials (mostly in local networks)
# custom = you need to set host, port, auth_options, authinfo (e.g. for GMX support)
ENV SMTP_TYPE simple
ENV SMTP_TYPE simple

View file

@ -1,5 +1,5 @@
# Based on .exmples/dockerfiles/smtp/fpm
FROM friendica/server:fpm
FROM friendica:fpm
# simple = using an smtp without any credentials (mostly in local networks)
# custom = you need to set host, port, auth_options, authinfo (e.g. for GMX support)
@ -9,4 +9,4 @@ ENV SMTP_HOST smtp.example.org
COPY *.sh /
RUN chmod +x /*.sh
RUN /smtp-config.sh
RUN /smtp-config.sh

View file

@ -1,14 +0,0 @@
FROM friendica/server:apache
RUN set -ex; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
supervisor \
; \
rm -rf /var/lib/apt/lists/*; \
mkdir /var/log/supervisord /var/run/supervisord
COPY supervisord.conf /etc/supervisor/supervisord.conf
CMD ["/usr/bin/supervisord"]

View file

@ -1,22 +0,0 @@
[supervisord]
nodaemon=true
logfile=/var/log/supervisord/supervisord.log
pidfile=/var/run/supervisord/supervisord.pid
childlogdir=/var/log/supervisord/
logfile_maxbytes=50MB ; maximum size of logfile before rotation
logfile_backups=10 ; number of backed up logfiles
loglevel=error
[program:apache2]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=apache2-foreground
[program:cron]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/cron.sh

View file

@ -1,14 +0,0 @@
FROM friendica/server:fpm
RUN set -ex; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
supervisor \
; \
rm -rf /var/lib/apt/lists/*; \
mkdir /var/log/supervisord /var/run/supervisord
COPY supervisord.conf /etc/supervisor/supervisord.conf
CMD ["/usr/bin/supervisord"]

View file

@ -1,22 +0,0 @@
[supervisord]
nodaemon=true
logfile=/var/log/supervisord/supervisord.log
pidfile=/var/run/supervisord/supervisord.pid
childlogdir=/var/log/supervisord/
logfile_maxbytes=50MB ; maximum size of logfile before rotation
logfile_backups=10 ; number of backed up logfiles
loglevel=error
[program:apache2]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=apache2-foreground
[program:cron]
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
command=/cron.sh

View file

@ -50,19 +50,20 @@ As the fastCGI-Process is not capable of serving static files (style sheets, ima
This can be achieved with the `volumes-from` option.
You can find more information in the docker-compose section.
## Using the cron job
## Background tasks
There are three options to enable the cron-job for Friendica:
Friendica requires background tasks to fetch and send all kind of messages and maintain the complete instance.
This setup is crucial for the Friendica node.
There are two options to enable background tasks for Friendica:
- Using the default Image and activate the cron-job (see [Installation](https://friendi.ca/resources/installation/), sector `Activating scheduled tasks`)
- Using the default image (apache, fpm, fpm-alpine) and creating **two** container (one for cron and one for the main app)
- Using one of the additional, prepared [`cron dockerfiles`](https://github.com/friendica/docker/tree/stable/.examples/dockerfiles/cron)
- Using the default Image and manually setup background tasks (see Friendica [Install](https://github.com/friendica/friendica/blob/2021.03-rc/doc/Install.md#required-background-tasks))
- Using the default image (apache, fpm, fpm-alpine) and starting a dedicated `cron` instance and use `cron.sh` as startup command (like this [Example](https://github.com/friendica/docker/blob/stable/.examples/docker-compose/insecure/mariadb-cron-redis/apache/docker-compose.yml))
## Possible Environment Variables
**Friendica Settings**
- `FRIENDICA_URL` The Friendica URL.
- `FRIENDICA_URL` The Friendica complete URL including protocol, domain and subpath (example: https://friendica.local/sub/ ).
- `FRIENDICA_TZ` The default localization of the Friendica server.
- `FRIENDICA_LANG` The default language of the Friendica server.
- `FRIENDICA_SITENAME` The Sitename of the Friendica server.
@ -155,6 +156,7 @@ The Friendica image supports auto configuration via environment variables.
You can preconfigure everything that is asked on the install page on first run.
To enable the automatic installation, you have to the following environment variables:
- `FRIENDICA_URL` The Friendica complete URL including protocol, domain and subpath (example: https://friendica.local/sub/ ).
- `FRIENDICA_ADMIN_MAIL` E-Mail address of the administrator.
- `MYSQL_USER` Username for the database user using mysql / mariadb.
- `MYSQL_PASSWORD` Password for the database user using mysql / mariadb.