services: proxy: image: traefik command: --providers.docker ports: - 80:80 volumes: - /var/run/docker.sock:/var/run/docker.sock frontend: build: context: ./ dockerfile: ./frontend/Dockerfile command: npm run dev develop: watch: - action: sync path: ./frontend target: /srv/frontend ignore: - node_modules - action: rebuild path: ./frontend/package.json - action: rebuild path: ./frontend/Dockerfile labels: traefik.http.routers.client.rule: "Host(`localhost`)" ports: - 8080:3000 vault: build: context: ./ dockerfile: ./vault/Dockerfile command: npm run dev environment: MONGO_URI: mongodb://rushvault:rushvault@mongo:27017/ depends_on: - mongo develop: watch: - action: sync path: ./vault target: /srv/vault ignore: - node_modules - action: rebuild path: ./vault/package.json - action: rebuild path: ./vault/Dockerfile ports: - 8081:8080 labels: traefik.http.routers.api.rule: "Host(`localhost`) && PathPrefix(`/api`)" traefik.http.services.api.loadbalancer.server.scheme: "h2c" traefik.http.routers.api.middlewares: "api-stripprefix,api-grpcweb" traefik.http.middlewares.api-stripprefix.stripprefix.prefixes: "/api" traefik.http.middlewares.api-grpcweb.grpcWeb.allowOrigins: "*" mongo: image: mongo restart: always environment: MONGO_INITDB_ROOT_USERNAME: rushvault MONGO_INITDB_ROOT_PASSWORD: rushvault MONGO_INITDB_DATABASE: DB mongo-express: image: mongo-express restart: always depends_on: - mongo environment: ME_CONFIG_MONGODB_ADMINUSERNAME: rushvault ME_CONFIG_MONGODB_ADMINPASSWORD: rushvault ME_CONFIG_MONGODB_URL: mongodb://rushvault:rushvault@mongo:27017/ ME_CONFIG_BASICAUTH: false labels: traefik.http.routers.mexp.rule: "Host(`mexp.localhost`)" ports: - 8082:8081