nextcloud-mariadb-redis-phpfpm/docker-compose.yml

75 lines
1.6 KiB
YAML

version: '3'
networks:
webproxy:
external: true
backend-nextcloud:
external: true
services:
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- /opt/appdata/nextcloud/mysql:/var/lib/mysql
env_file:
- db.env
container_name: nextcloud-db
networks:
- backend-nextcloud
redis:
image: redis:alpine
container_name: nextcloud-redis
command: redis-server --requirepass ${REDIS_HOST_PASSWORD}
networks:
- backend-nextcloud
restart: always
app:
image: nextcloud:20.0.9-fpm-alpine
restart: always
volumes:
- /opt/appdata/nextcloud/www:/var/www/html
- /mnt/storage-bx20/data-nextcloud:/var/www/html/data
environment:
- MYSQL_HOST=db
- REDIS_HOST=redis
env_file:
- db.env
networks:
- backend-nextcloud
depends_on:
- db
- redis
container_name: nextcloud
web:
image: nginx:alpine
restart: always
volumes:
- /opt/appdata/nextcloud/www:/var/www/html:ro
- /opt/appdata/nextcloud/nginx.conf:/etc/nginx/nginx.conf:ro
depends_on:
- app
networks:
- webproxy
- backend-nextcloud
container_name: nextcloud-nginx
cron:
image: nextcloud:20.0.9-fpm-alpine
restart: always
volumes:
- /opt/appdata/nextcloud/www:/var/www/html
- /mnt/storage-bx20/data-nextcloud:/var/www/html/data
entrypoint: /cron.sh
depends_on:
- db
- redis
container_name: nextcloud-cron
networks:
- backend-nextcloud