version: '3'
|
|
|
|
networks:
|
|
nginx-proxy:
|
|
external: true
|
|
|
|
backend-nextcloud:
|
|
external: true
|
|
|
|
services:
|
|
db:
|
|
image: mariadb:10.5.3
|
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
|
restart: always
|
|
volumes:
|
|
- /opt/docker/nextcloud/mariadb:/var/lib/mysql
|
|
environment:
|
|
- MYSQL_RANDOM_ROOT_PASSWORD: '1'
|
|
env_file:
|
|
- db.env
|
|
container_name: nextcloud-db
|
|
networks:
|
|
- backend-nextcloud
|
|
|
|
redis:
|
|
image: redis:6.0-alpine
|
|
container_name: nextcloud-redis
|
|
networks:
|
|
- backend-nextcloud
|
|
restart: always
|
|
|
|
app:
|
|
image: nextcloud:18.0.6-fpm-alpine
|
|
restart: always
|
|
volumes:
|
|
- /opt/docker/nextcloud/app:/var/www/html
|
|
- /mnt/storage-box/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:1.19-alpine
|
|
restart: always
|
|
ports:
|
|
- 8080:80
|
|
volumes:
|
|
- /opt/docker/nextcloud/app:/var/www/html:ro
|
|
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
|
depends_on:
|
|
- app
|
|
networks:
|
|
- nginx-proxy
|
|
- backend-nextcloud
|
|
container_name: nextcloud-nginx
|
|
|
|
cron:
|
|
image: nextcloud:18.0.6-fpm-alpine
|
|
restart: always
|
|
volumes:
|
|
- /opt/docker/nextcloud/app:/var/www/html
|
|
- /mnt/storage-box/data-nextcloud:/var/www/html/data
|
|
entrypoint: /cron.sh
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
container_name: nextcloud-cron
|
|
networks:
|
|
- backend-nextcloud
|