mirror of
https://github.com/nextcloud/docker.git
synced 2025-03-25 15:36:10 +01:00
The cron container requires the files created by the app container, to start its cron tasks. There is a potential race condition here, where cron starts to run before the app container is even up, before the app container has populated `/var/www/html`. This is undesired and easily solved by making sure cron depends on the app container. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
65 lines
1.1 KiB
YAML
65 lines
1.1 KiB
YAML
version: '3'
|
|
|
|
services:
|
|
db:
|
|
image: mariadb:10.6
|
|
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
|
|
restart: always
|
|
volumes:
|
|
- db:/var/lib/mysql:Z
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=
|
|
- MARIADB_AUTO_UPGRADE=1
|
|
- MARIADB_DISABLE_UPGRADE_BACKUP=1
|
|
env_file:
|
|
- db.env
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
restart: always
|
|
|
|
app:
|
|
image: nextcloud:fpm-alpine
|
|
restart: always
|
|
volumes:
|
|
- nextcloud:/var/www/html:z
|
|
environment:
|
|
- MYSQL_HOST=db
|
|
- REDIS_HOST=redis
|
|
env_file:
|
|
- db.env
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
|
|
web:
|
|
image: nginx:alpine
|
|
restart: always
|
|
ports:
|
|
- 127.0.0.1:8080:80
|
|
volumes:
|
|
- nextcloud:/var/www/html:z,ro
|
|
depends_on:
|
|
- app
|
|
configs:
|
|
- source: web
|
|
target: /etc/nginx/nginx.conf
|
|
|
|
cron:
|
|
image: nextcloud:fpm-alpine
|
|
restart: always
|
|
volumes:
|
|
- nextcloud:/var/www/html:z
|
|
entrypoint: /cron.sh
|
|
depends_on:
|
|
- app
|
|
- db
|
|
- redis
|
|
|
|
configs:
|
|
web:
|
|
file: nginx.conf
|
|
|
|
volumes:
|
|
db:
|
|
nextcloud:
|