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 # - collabora 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: - MYSQL_HOST=db - NEXTCLOUD_UPDATE=1 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} 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