self-hosting/roles/nextcloud-docker/files/nextcloud/docker-compose.yml
2019-06-08 23:53:21 +02:00

81 lines
1.9 KiB
YAML

version: '3'
networks:
web:
external:
name: web
services:
web:
build: ./web
volumes:
- /var/lib/nextcloud:/var/www/html:ro
- /etc/localtime:/etc/localtime:ro
labels:
- "traefik.backend=nextcloud"
- "traefik.docker.network=web"
- "traefik.frontend.rule=Host:cloud.banditlair.com"
- "traefik.frontend.headers.customResponseHeaders=Strict-Transport-Security:max-age=15552000; includeSubDomains"
- "traefik.frontend.headers.referrerPolicy=no-referrer"
- "traefik.enable=true"
- "traefik.port=80"
- "traefik.default.protocol=http"
depends_on:
- app
networks:
- web
- default
restart: always
app:
build: ./app
volumes:
- /var/lib/nextcloud:/var/www/html
- ./config:/var/www/html/config
- /data:/media
- /etc/localtime:/etc/localtime:ro
environment:
- NEXTCLOUD_UPDATE=1
depends_on:
- postgres
- redis
restart: always
postgres:
image: postgres
volumes:
- /var/lib/postgresql/nextcloud:/var/lib/postgresql/data
- /backups/nextcloud:/backups
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
- POSTGRES_PASSWORD=${MYSQL_PASSWORD}
restart: always
redis:
image: redis
restart: always
onlyoffice:
image: onlyoffice/documentserver:latest
stdin_open: true
tty: true
expose:
- '80'
labels:
- "traefik.backend=onlyoffice"
- "traefik.docker.network=web"
- "traefik.frontend.rule=Host:office.banditlair.com"
- "traefik.enable=true"
- "traefik.port=80"
- "traefik.default.protocol=http"
volumes:
- /var/lib/onlyoffice:/var/www/onlyoffice/Data
- /var/log/onlyoffice:/var/log/onlyoffice
networks:
- web
- default
restart: always