self-hosting/roles/nextcloud-docker/files/nextcloud/docker-compose.yml
2018-02-08 11:36:24 +01:00

79 lines
1.6 KiB
YAML

version: '3'
networks:
proxy-tier:
external:
name: nginx-proxy
services:
web:
build: ./web
volumes:
- /var/lib/nextcloud:/var/www/html:ro
- /etc/localtime:/etc/localtime:ro
environment:
- VIRTUAL_HOST=${CLOUD_DOMAIN}
- VIRTUAL_NETWORK=nginx-proxy
- VIRTUAL_PORT=80
depends_on:
- app
# - collabora
networks:
- proxy-tier
- 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
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