[services] [services.nextcloud-web] image = "nginx:alpine" container_name = "nextcloud-web" restart = "unless-stopped" networks = ["nextcloud", "proxy"] volumes = [ "./nginx.conf:/etc/nginx/nginx.conf", "/docker/nextcloud:/var/www/html:z", ] depends_on = ["nextcloud"] labels = [ "traefik.enable=true", "traefik.http.routers.nextcloud-redirect.entrypoints=http", "traefik.http.routers.nextcloud-redirect.rule=Host(`cloud.korhonen.cc`)", "traefik.http.routers.nextcloud-redirect.middlewares=http2https@file", "traefik.http.routers.nextcloud.entrypoints=https", "traefik.http.routers.nextcloud.rule=Host(`cloud.korhonen.cc`)", "traefik.http.routers.nextcloud.service=nextcloud", "traefik.http.routers.nextcloud.middlewares=secHeaders@file,nextcloud-redirect-dav@file,nextcloud-redirect-extra@file,compress@file", "traefik.docker.network=proxy", "traefik.http.services.nextcloud.loadbalancer.server.port=80", ] [services.nextcloud] image = "nextcloud:fpm-alpine" container_name = "nextcloud" restart = "unless-stopped" user = "82:82" networks = ["nextcloud", "postgres", "proxy"] volumes = [ "/docker/nextcloud:/var/www/html:z", "/mnt/Storage/Nextcloud:/var/www/html/data", "/mnt/Storage/Media/Music:/Music", "/etc/localtime:/etc/localtime:ro", ] environment = [ "TZ=Europe/Helsinki", "REDIS_HOST=redis", "REDIS_HOST_PASSWORD=123", "TRUSTED_PROXIES=traefik", "NEXTCLOUD_TRUSTED_DOMAINS=cloud.korhonen.cc", "OVERWRITEHOST=cloud.korhonen.cc", "OVERWRITEPROTOCOL=https", ] depends_on = ["redis"] [services.redis] image = "redis:alpine" container_name = "redis-nextcloud" networks = ["nextcloud"] restart = "unless-stopped" command = "redis-server --requirepass 123" [services.coturn] image = "instrumentisto/coturn" container_name = "coturn" restart = "unless-stopped" env_file = ".env" ports = ["3478:3478/tcp", "3478:3478/udp"] networks = ["nextcloud"] command = [ "-n", "--log-file=stdout", "--min-port=49160", "--max-port=49200", "--realm=cloud.korhonen.cc", "--use-auth-secret", "--static-auth-secret=${STATIC_AUTH_SECRET}", ] [networks] [networks.nextcloud] external = false [networks.postgres] external = true [networks.proxy] external = true