udemy-go-microservices/project/docker-compose.yml

119 lines
2.6 KiB
YAML

services:
broker-service:
build:
context: ./../broker-service/
dockerfile: ./../broker-service/broker-service.dockerfile
restart: always
ports:
- "8080:80"
deploy:
mode: replicated
replicas: 1
authentication-service:
build:
context: ./../authentication-service/
dockerfile: ./../authentication-service/authentication-service.dockerfile
ports:
- "8081:80"
deploy:
mode: replicated
replicas: 1
environment:
DSN: "host=postgres port=5432 user=postgres password=password dbname=users timezone=UTC connect_timeout=5"
logger-service:
build:
context: ./../logger-service/
dockerfile: ./../logger-service/logger-service.dockerfile
restart: always
deploy:
mode: replicated
replicas: 1
mail-service:
build:
context: ./../mail-service/
dockerfile: ./../mail-service/mail-service.dockerfile
restart: always
deploy:
mode: replicated
replicas: 1
environment:
MAIL_DOMAIN: localhost
MAIL_HOST: mailhog
MAIL_PORT: 1025
MAIL_USERNAME: ""
MAIL_PASSWORD: ""
MAIL_ENCRYPTION: none
FROM_NAME: me
FROM_ADDR: me@here.com
listener-service:
build:
context: ./../listener-service/
dockerfile: ./../listener-service/listener-service.dockerfile
restart: always
deploy:
mode: replicated
replicas: 1
postgres:
image: postgres:16.4-alpine
ports:
- "5432:5432"
restart: always
deploy:
mode: replicated
replicas: 1
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: users
volumes:
- ./db-data/postgres:/var/lib/postgresql/data
mongo:
image: mongo
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: password
volumes:
- ./db-data/mongo:/data/db
mailhog:
image: mailhog/mailhog
ports:
- "1025:1025"
- "8025:8025"
rabbitmq:
image: 'rabbitmq:3.13-alpine'
ports:
- "5672:5672"
deploy:
mode: replicated
replicas: 1
volumes:
- ./db-data/rabbitmq:/var/lib/rabbitmq/
adminer:
image: adminer
restart: always
ports:
- 8090:8080
mongo-express:
image: mongo-express
restart: always
ports:
- 8091:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: admin
ME_CONFIG_MONGODB_ADMINPASSWORD: password
ME_CONFIG_MONGODB_URL: mongodb://admin:password@mongo:27017/
ME_CONFIG_BASICAUTH: false