version: '3' networks: traefik: external: true nextcloud: services: db: image: mariadb:10.6 networks: - nextcloud command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW volumes: - type: bind source: /mnt/data/nextcloud/db target: /var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_PASSWORD=password - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud deploy: placement: constraints: - "node.labels.nextcloud == true" app: image: nextcloud networks: - traefik - nextcloud links: - db volumes: - type: bind source: /mnt/data/nextcloud/html target: /var/www/html environment: - MYSQL_PASSWORD=password - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db deploy: placement: constraints: - "node.labels.nextcloud == true" labels: - traefik.enable=true - traefik.http.routers.nextcloud.entrypoints=websecure - traefik.http.routers.nextcloud.rule=Host(`cloud.pim.kunis.nl`) - traefik.http.routers.nextcloud.service=nextcloud - traefik.http.routers.nextcloud.tls=true - traefik.http.routers.nextcloud.tls.certresolver=letsencrypt - traefik.docker.network=traefik - traefik.http.services.nextcloud.loadbalancer.server.port=80