self-hosting/roles/nextcloud-docker/files/nextcloud/docker-compose.yml
2018-07-27 19:14:59 +02:00

103 lines
2.3 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.enable=true"
- "traefik.port=80"
- "traefik.default.protocol=http"
depends_on:
- app
# - collabora
networks:
- web
- default
restart: always
app:
build: ./app
volumes:
- /var/lib/nextcloud:/var/www/html
- ./config:/var/www/html/config
- /media:/media
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_HOST=db
env_file:
- db.env
depends_on:
- db
- redis
restart: always
db:
image: mariadb
volumes:
- /var/lib/mariadb/nextcloud:/var/lib/mysql
- ./db/custom.cnf:/etc/mysql/conf.d/custom.cnf
- /backups/nextcloud:/backups
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
env_file:
- db.env
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
# collabora:
# image: collabora/code:3.0.0.4
# cap_add:
# - MKNOD
# expose:
# - 9980
# environment:
# - domain=${CLOUD_DOMAIN}
# - VIRTUAL_HOST=${COLLABORA_DOMAIN}
# - VIRTUAL_NETWORK=nginx-proxy
# - VIRTUAL_PORT=9980
# - VIRTUAL_PROTO=https
# - LETSENCRYPT_HOST=${COLLABORA_DOMAIN}
# - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
# networks:
# - proxy-tier
# - default
# restart: always