services: app: build: context: . dockerfile: Dockerfile.dev hostname: evwiki.test volumes: - .:/app depends_on: - database labels: - "traefik.enable=true" - "traefik.http.routers.app.entrypoints=web" - "traefik.http.routers.app.rule=Host(`evwiki.test`)" - "traefik.http.services.app.loadbalancer.server.port=3000" networks: - proxy database: image: pgvector/pgvector:pg17 hostname: database.evwiki.test environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=evwiki volumes: - postgres_evwiki:/var/lib/postgresql/data labels: - "traefik.enable=true" - "traefik.tcp.routers.database.entrypoints=postgres" - "traefik.tcp.routers.database.rule=HostSNI(`database.evwiki.test`)" - "traefik.tcp.routers.database.tls=true" - "traefik.tcp.routers.database.tls.passthrough=true" - "traefik.tcp.services.database.loadbalancer.server.port=5432" networks: - proxy adminer: image: adminer hostname: adminer.evwiki.test environment: - ADMINER_DEFAULT_SERVER=database.evwiki.test - ADMINER_DEFAULT_DB=evwiki - ADMINER_DESIGN=darkly - ADMINER_USER=postgres_evwiki - ADMINER_PASSWORD=postgres_evwiki labels: - "traefik.enable=true" - "traefik.http.routers.adminer.rule=Host(`adminer.evwiki.test`)" - "traefik.http.services.adminer.loadbalancer.server.port=8080" networks: - proxy networks: proxy: external: true volumes: postgres_evwiki: