0
0
Fork 0
mirror of https://github.com/nextcloud/docker.git synced 2025-03-25 15:36:10 +01:00
nextcloud-docker/.examples/docker-compose/insecure/mariadb/fpm/docker-compose.yml
Olliver Schinagl 62ef4e961b
examples: Have cron container depend on the app container
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>
2023-05-29 10:28:11 +02:00

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: