Files
go-microservices/docker-compose.yml
2026-06-20 11:07:01 -04:00

87 lines
2.4 KiB
YAML

version: '3.8'
services:
# PostgreSQL Database
postgres:
image: postgres:15-alpine
container_name: go-microservices-db
environment:
POSTGRES_DB: ${POSTGRES_DB:-microservices_db}
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
ports:
- "${BLUEPRINT_DB_PORT:-5432}:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- microservices-network
# Auth Service
auth-service:
build:
context: .
dockerfile: ./services/auth-service/Dockerfile
container_name: auth-service
ports:
- "50051:50051"
environment:
- DATABASE_URL=postgres://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:${BLUEPRINT_DB_PORT:-5432}/${POSTGRES_DB:-microservices_db}?sslmode=disable
- JWT_SECRET=${JWT_SECRET:-your-development-jwt-secret-change-in-production}
depends_on:
- postgres
networks:
- microservices-network
restart: unless-stopped
# User Service
user-service:
build:
context: .
dockerfile: ./services/user-service/Dockerfile
container_name: user-service
ports:
- "50052:50052"
environment:
- DATABASE_URL=postgres://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:${BLUEPRINT_DB_PORT:-5432}/${POSTGRES_DB:-microservices_db}?sslmode=disable
networks:
- microservices-network
restart: unless-stopped
# Post Service
post-service:
build:
context: .
dockerfile: ./services/post-service/Dockerfile
container_name: post-service
ports:
- "50053:50053"
environment:
- DATABASE_URL=postgres://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:${BLUEPRINT_DB_PORT:-5432}/${POSTGRES_DB:-microservices_db}?sslmode=disable
networks:
- microservices-network
restart: unless-stopped
# API Gateway
api-gateway:
build:
context: .
dockerfile: ./api-gateway/Dockerfile
container_name: api-gateway
ports:
- "8080:8080"
environment:
- AUTH_SERVICE_GRPC=auth-service:50051
- JWT_SECRET=${JWT_SECRET:-your-development-jwt-secret-change-in-production}
depends_on:
- auth-service
networks:
- microservices-network
restart: unless-stopped
volumes:
postgres_data:
networks:
microservices-network:
driver: bridge