services: app: build: context: . dockerfile: ./docker/Dockerfile container_name: ${APP_NAME:-go-gin-clean-starter}-app volumes: - .:/app ports: - ${GOLANG_PORT:-8888}:8888 env_file: - .env # <--- WAJIB ADA depends_on: - rabbitmq networks: - default rabbitmq: image: rabbitmq:3.13-management-alpine container_name: rabbitmq ports: - "${RABBITMQ_PORT:-5672}:5672" # port host 5672, port container 5672 - "${RABBITMQ_MANAGEMENT_PORT:-15672}:15672" # port untuk management UI environment: RABBITMQ_DEFAULT_USER: guest RABBITMQ_DEFAULT_PASS: guest networks: - default redis: image: redis:alpine restart: always container_name: redis command: ["redis-server", "--requirepass", "redis"] volumes: - redis-data:/data ports: - "${REDIS_PORT:-6379}:6379" networks: - default volumes: app-data: redis-data: networks: default: name: production external: true