98 lines
2.8 KiB
YAML
98 lines
2.8 KiB
YAML
services:
|
|
nextcloud-db:
|
|
image: mariadb:11
|
|
container_name: nextcloud-db
|
|
restart: unless-stopped
|
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: aMdZqdgztQbadb3yes05
|
|
MYSQL_DATABASE: nextcloud
|
|
MYSQL_USER: nextcloud
|
|
MYSQL_PASSWORD: ZDFnJGCBo0PHvq58KItT
|
|
TZ: Europe/Berlin
|
|
volumes:
|
|
- /root/docker/nextcloud/data/db:/var/lib/mysql
|
|
networks:
|
|
- nextcloud-internal
|
|
|
|
nextcloud-redis:
|
|
image: redis:7-alpine
|
|
container_name: nextcloud-redis
|
|
restart: unless-stopped
|
|
command: redis-server --appendonly yes
|
|
volumes:
|
|
- /root/docker/nextcloud/data/redis:/data
|
|
networks:
|
|
- nextcloud-internal
|
|
|
|
nextcloud-app:
|
|
build: .
|
|
container_name: nextcloud-app
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nextcloud-db
|
|
- nextcloud-redis
|
|
command: >
|
|
/bin/sh -c "
|
|
wait-for-it nextcloud-db:3306 --timeout=60 &&
|
|
wait-for-it nextcloud-redis:6379 --timeout=60 &&
|
|
exec php-fpm
|
|
"
|
|
environment:
|
|
MYSQL_HOST: nextcloud-db
|
|
MYSQL_DATABASE: nextcloud
|
|
MYSQL_USER: nextcloud
|
|
MYSQL_PASSWORD: ZDFnJGCBo0PHvq58KItT
|
|
REDIS_HOST: nextcloud-redis
|
|
TZ: Europe/Berlin
|
|
volumes:
|
|
- /srv/nextcloud-data-local/nextcloud:/var/www/html
|
|
networks:
|
|
- nextcloud-internal
|
|
nextcloud-cron:
|
|
build: .
|
|
container_name: nextcloud-cron
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nextcloud-app
|
|
entrypoint: /cron.sh
|
|
environment:
|
|
MYSQL_HOST: nextcloud-db
|
|
MYSQL_DATABASE: nextcloud
|
|
MYSQL_USER: nextcloud
|
|
MYSQL_PASSWORD: ZDFnJGCBo0PHvq58KItT
|
|
REDIS_HOST: nextcloud-redis
|
|
TZ: Europe/Berlin
|
|
volumes:
|
|
- /srv/nextcloud-data-local/nextcloud:/var/www/html
|
|
networks:
|
|
- nextcloud-internal
|
|
|
|
nextcloud-nginx:
|
|
image: nginx:alpine
|
|
container_name: nextcloud-nginx
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- nextcloud-app
|
|
volumes:
|
|
- /srv/nextcloud-data-local/nextcloud:/var/www/html:ro
|
|
- /root/docker/nextcloud/data/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
|
- /root/docker/nextcloud/data/nginx/conf.d:/etc/nginx/conf.d:ro
|
|
networks:
|
|
- nextcloud-internal
|
|
- webproxy-net
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.docker.network=webproxy-net
|
|
- traefik.http.routers.nextcloud.rule=Host(`nextcloud.focus-on-it.net`)
|
|
- traefik.http.routers.nextcloud.entrypoints=websecure
|
|
- traefik.http.routers.nextcloud.tls=true
|
|
- traefik.http.routers.nextcloud.tls.certresolver=le
|
|
- traefik.http.routers.nextcloud.middlewares=nextcloud-headers@file
|
|
- traefik.http.services.nextcloud.loadbalancer.server.port=80
|
|
networks:
|
|
nextcloud-internal:
|
|
driver: bridge
|
|
webproxy-net:
|
|
external: true
|