dotfiles/docker/nextcloud/docker-compose.toml

77 lines
1.9 KiB
TOML

[services]
[services.nextcloud]
image = "nextcloud:apache"
container_name = "nextcloud"
restart = "always"
ports = ["1869:80"]
networks = ["nextcloud", "postgres", "proxy"]
volumes = [
"/docker/nextcloud:/var/www/html",
"/mnt/Storage/Nextcloud:/var/www/html/data",
"/mnt/Storage/Syncthing:/Syncthing",
"/mnt/Storage/Media/Music:/Music",
"/etc/localtime:/etc/localtime:ro",
]
environment = [
"TZ=Europe/Helsinki",
"REDIS_HOST=redis",
"REDIS_HOST_PASSWORD=123",
]
depends_on = ["redis"]
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-dav@file",
"traefik.docker.network=proxy",
"traefik.http.services.nextcloud.loadbalancer.server.port=80",
]
[services.redis]
image = "redis:alpine"
container_name = "redis"
networks = ["nextcloud"]
restart = "always"
command = "redis-server --requirepass 123"
[services.cron]
image = "nextcloud:apache"
container_name = "nextcloud-cron"
restart = "always"
volumes = ["/docker/nextcloud:/var/www/html"]
entrypoint = "/cron.sh"
depends_on = ["redis"]
[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