version: '3.9' networks: maps-service-network: driver: bridge secrets: netrc: file: /home/quat/.netrc services: nats: image: docker.io/nats:latest container_name: nats command: ["-js"] networks: - maps-service-network mapsservice: build: secrets: - netrc context: . dockerfile: Containerfile container_name: mapsservice command: [ # debug "--debug","serve", # http service port "--port","8082", # postgres "--pg-host","10.0.0.29", "--pg-port","5432", "--pg-db","maps", "--pg-user","quat", "--pg-password","happypostgresuser", # other hosts "--nats-host","nats:4222", "--auth-rpc-host","authrpc:8081" ] depends_on: - authrpc - nats networks: - maps-service-network ports: - "8082:8082" web: build: context: web dockerfile: Containerfile networks: - maps-service-network ports: - "3000:3000" validation: build: context: validation dockerfile: Containerfile container_name: validation environment: - RBXCOOKIE=RBXCOOKIE - API_HOST=http://mapsservice:8082 - NATS_HOST=nats:4222 - DATA_HOST=http://dataservice:9000 depends_on: - nats # note: this races the mapsservice which creates a nats stream # the validation will panic if the nats stream is not created - mapsservice - dataservice networks: - maps-service-network dataservice: image: registry.itzana.me/strafesnet/data-service:master container_name: dataservice environment: - DEBUG=true - PG_HOST=10.0.0.29 - PG_PORT=5432 - PG_USER=quat - PG_DB=data - PG_PASS=happypostgresuser networks: - maps-service-network authredis: image: docker.io/redis:latest container_name: authredis volumes: - redis-data:/data command: ["redis-server", "--appendonly", "yes"] networks: - maps-service-network authrpc: image: registry.itzana.me/strafesnet/auth-service:master container_name: authrpc command: ["serve", "rpc"] environment: - REDIS_ADDR=authredis:6379 env_file: - ../auth-compose/auth-service.env depends_on: - authredis networks: - maps-service-network auth-web: image: registry.itzana.me/strafesnet/auth-service:master command: ["serve", "web"] environment: - REDIS_ADDR=authredis:6379 env_file: - ../auth-compose/auth-service.env depends_on: - authredis networks: - maps-service-network ports: - "8080:8080" volumes: redis-data: