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