version: "3.9" services: db: image: postgres:13.2 container_name: nextcloud-database restart: always volumes: - ./nextcloud-database:/var/lib/postgresql/data environment: - POSTGRES_DB=nextclouddb - POSTGRES_USER=nextcloud - POSTGRES_PASSWORD=vahdoaz9Sasai8ooPhe0cai7taiwei4r networks: - nextcloud-internal nextcloud-app: image: nextcloud:21 container_name: nextcloud restart: always depends_on: - db volumes: - ./nextcloud-data:/var/www/html environment: - POSTGRES_HOST=db - POSTGRES_DB=nextclouddb - POSTGRES_USER=nextcloud - POSTGRES_PASSWORD=vahdoaz9Sasai8ooPhe0cai7taiwei4r networks: - traefik-gateway - nextcloud-internal labels: - "traefik.enable=true" - "traefik.http.routers.nextcloud.rule=Host(`subdomain.domain.tld`)" - "traefik.http.routers.nextcloud.entrypoints=web" - "traefik.http.services.nextcloud-app.loadbalancer.server.port=80" - "traefik.docker.network=traefik-gateway" networks: nextcloud-internal: external: false traefik-gateway: external: true