100 lines
2.8 KiB
YAML
100 lines
2.8 KiB
YAML
version: "3.8"
|
|
|
|
networks:
|
|
default:
|
|
name: ${TRAEFIK_NETWORK_NAME}
|
|
|
|
volumes:
|
|
nextcloud:
|
|
name: ${NEXTCLOUD_VOLUME_NAME}
|
|
nextcloud-postgres:
|
|
name: ${POSTGRES_VOLUME_NAME}
|
|
|
|
services:
|
|
|
|
nextcloud-web:
|
|
container_name: nextcloud-web
|
|
build: ./web
|
|
restart: always
|
|
depends_on:
|
|
- nextcloud-fpm
|
|
volumes:
|
|
- nextcloud:/var/www/html
|
|
labels:
|
|
traefik.enable: 'true'
|
|
traefik.docker.network: ${TRAEFIK_NETWORK_NAME}
|
|
traefik.http.routers.nextcloud-fpm.rule: 'Host(`${NEXTCLOUD_DOMAIN}`)'
|
|
traefik.http.routers.nextcloud-fpm.entrypoints: 'web'
|
|
traefik.http.routers.nextcloud-fpm.middlewares: nextcloud_redirect
|
|
traefik.http.middlewares.nextcloud_redirect.redirectregex.regex: /.well-known/(card|cal)dav
|
|
traefik.http.middlewares.nextcloud_redirect.redirectregex.replacement: /remote.php/dav/
|
|
|
|
nextcloud-fpm:
|
|
container_name: nextcloud-fpm
|
|
image: ${NEXTCLOUD_IMAGE:-nextcloud:21.0.2-fpm-alpine}
|
|
restart: always
|
|
hostname: ${NEXTCLOUD_DOMAIN}
|
|
depends_on:
|
|
- nextcloud-postgres
|
|
- nextcloud-redis
|
|
volumes:
|
|
- nextcloud:/var/www/html
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
environment:
|
|
NEXTCLOUD_TRUSTED_DOMAINS: ${NEXTCLOUD_DOMAIN}
|
|
NEXTCLOUD_ADMIN_USER: ${NEXTCLOUD_ADMIN_USER}
|
|
NEXTCLOUD_ADMIN_PASSWORD: ${NEXTCLOUD_ADMIN_PASSWORD}
|
|
OVERWRITEPROTOCOL: 'https'
|
|
APACHE_DISABLE_REWRITE_IP: '1'
|
|
TRUSTED_PROXIES: ${TRAEFIK_NETWORK_NAME}
|
|
OVERWRITEPROTOCOL: 'https'
|
|
POSTGRES_HOST: ${POSTGRES_CONTAINER_NAME}
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
REDIS_HOST: 'nextcloud-redis'
|
|
PUID: 1001
|
|
PGID: 119
|
|
|
|
nextcloud-postgres:
|
|
container_name: ${POSTGRES_CONTAINER_NAME}
|
|
image: ${POSTGRES_IMAGE:-postgres:12.7-alpine}
|
|
restart: always
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
PUID: 1001
|
|
PGID: 119
|
|
volumes:
|
|
- nextcloud-postgres:/var/lib/postgresql/data
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
nextcloud-redis:
|
|
image: ${REDIS_IMAGE:-redis:6.0.14-alpine}
|
|
container_name: nextcloud-redis
|
|
restart: always
|
|
environment:
|
|
PUID: 1001
|
|
PGID: 119
|
|
volumes:
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
nextcloud-cron:
|
|
image: ${NEXTCLOUD_IMAGE:-nextcloud:21.0.2-fpm-alpine}
|
|
container_name: nextcloud-cron
|
|
restart: always
|
|
depends_on:
|
|
- nextcloud-web
|
|
entrypoint: /cron.sh
|
|
environment:
|
|
PUID: 1001
|
|
PGID: 119
|
|
volumes:
|
|
- nextcloud:/var/www/html
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|