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 onlyoffice: image: onlyoffice/documentserver:latest stdin_open: true tty: true expose: - '80' environment: - VIRTUAL_HOST=office.banditlair.com - VIRTUAL_NETWORK=nginx-proxy - VIRTUAL_PORT=80 - LETSENCRYPT_HOST=office.banditlair.com - LETSENCRYPT_EMAIL=letsencrypt.account@banditlair.com volumes: - /var/lib/onlyoffice:/var/www/onlyoffice/Data - /var/log/onlyoffice:/var/log/onlyoffice networks: - proxy-tier - 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