foodotfiles/docker/nextcloud/docker-compose.yaml

84 lines
2.0 KiB
YAML

version: "3"
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.middlewares.http2https.redirectscheme.scheme=https"
- "traefik.http.routers.nextcloud-redirect.middlewares=http2https"
- "traefik.http.routers.nextcloud.entrypoints=https"
- "traefik.http.routers.nextcloud.rule=Host(`cloud.korhonen.cc`)"
- "traefik.http.routers.nextcloud.service=nextcloud"
- "traefik.docker.network=proxy"
- "traefik.http.services.nextcloud.loadbalancer.server.port=80"
redis:
image: redis:alpine
container_name: redis
networks:
- nextcloud
restart: always
command: redis-server --requirepass 123
cron:
image: nextcloud:apache
container_name: cron
restart: always
volumes:
- /docker/nextcloud:/var/www/html
entrypoint: /cron.sh
depends_on:
- redis
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:
nextcloud:
external: false
postgres:
external: true
proxy:
external: true