nextcloud/docker-compose.yml

43 lines
1.6 KiB
YAML
Raw Normal View History

2025-03-01 13:04:25 -05:00
volumes:
redis:
2024-04-21 01:41:20 -04:00
networks:
traefik:
external: true
2025-03-02 15:18:43 -05:00
internal:
internal: true
2024-04-21 01:41:20 -04:00
services:
nextcloud:
image: "${IMAGE:-nextcloud}:${VERSION:-latest}"
container_name: "${NAME:-nextcloud}"
2025-03-02 15:08:56 -05:00
mem_limit: ${MEM_LIMIT:-2g}
2024-04-21 01:41:20 -04:00
environment:
PHP_MEMORY_LIMIT: "${PHP_MEMORY_LIMIT:-1024M}"
labels:
- "traefik.http.routers.${ROUTER:-nextcloud}.rule=Host(`${DOMAIN:-cloud.local.krislamo.org}`)"
- "traefik.http.routers.${ROUTER:-nextcloud}.entrypoints=${ENTRYPOINT:-web}"
- "traefik.http.routers.${ROUTER:-nextcloud}.tls=${ENABLE_TLS:-false}"
- "traefik.http.routers.${ROUTER:-nextcloud}.middlewares=${MIDDLEWARES:-nextcloud-webdav}"
- "traefik.http.services.${ROUTER:-nextcloud}.loadbalancer.server.port=${CONTAINER_PORT:-80}"
- "traefik.http.middlewares.${ROUTER:-nextcloud}-webdav.redirectregex.regex=https://(.*)/.well-known/(card|cal)dav"
- "traefik.http.middlewares.${ROUTER:-nextcloud}-webdav.redirectregex.replacement=https://$${1}/remote.php/dav/"
- "traefik.http.middlewares.${ROUTER:-nextcloud}-webdav.redirectregex.permanent=true"
- "traefik.docker.network=${NETWORK:-traefik}"
- "traefik.enable=${ENABLE:-true}"
networks:
2025-03-02 15:18:43 -05:00
- internal
2024-04-21 01:41:20 -04:00
- "${NETWORK:-traefik}"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- "${DATA:?}:/var/www/html"
2025-03-01 13:04:25 -05:00
redis:
image: "redis:${REDIS_VERSION:-latest}"
container_name: "${NAME:-nextcloud}-redis"
command: redis-server --requirepass ${REDIS_PASSWORD:?}
2025-03-02 15:18:43 -05:00
networks:
- internal
2025-03-01 13:04:25 -05:00
volumes:
- redis:/data