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 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