bytelyst-devops-tools/dashboard/docker-compose.yml
root fbaaa71a66 feat(devops): adopt trading web deployment model with docker-compose
- Add docker-compose.yml following trading web pattern
- Update web Dockerfile to use multi-stage build with metadata
- Add build metadata (commit SHA, branch, timestamp, author, message)
- Rewrite deploy.sh to use docker compose with build metadata
- Add hotcopy deployment script for quick updates
- Add comprehensive backend API with deployment orchestration
- Add health checks, service management, and monitoring endpoints
- Add CI/CD workflow configuration
- Add deployment documentation and guides

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-05-11 03:24:11 +00:00

68 lines
1.9 KiB
YAML

# Production-mode compose for DevOps Dashboard
# Usage:
# docker compose up --build
#
# Requires:
# - backend/.env populated (copy from backend/.env.example)
# - web/.env.local populated (copy from web/.env.local.example)
#
# For hot-reload dev mode use:
# docker compose -f docker-compose.yml -f docker-compose.dev.yml up
services:
# ---------------------------------------------------------------------------
# Backend — DevOps API service
# ---------------------------------------------------------------------------
backend:
build:
context: .
dockerfile: backend/Dockerfile
args:
BYTELYST_PACKAGE_SOURCE: ${BYTELYST_PACKAGE_SOURCE:-vendor}
container_name: devops-backend
env_file:
- backend/.env
ports:
- '4004:4004'
networks:
- default
- platform_net
restart: unless-stopped
healthcheck:
test: ['CMD', 'wget', '-qO-', 'http://localhost:4004/health']
interval: 30s
timeout: 5s
retries: 3
start_period: 15s
# ---------------------------------------------------------------------------
# Web — Next.js dashboard
# ---------------------------------------------------------------------------
web:
build:
context: .
dockerfile: web/Dockerfile
args:
BYTELYST_PACKAGE_SOURCE: ${BYTELYST_PACKAGE_SOURCE:-vendor}
NEXT_PUBLIC_PRODUCT_ID: ${NEXT_PUBLIC_PRODUCT_ID:-devops}
NEXT_PUBLIC_PLATFORM_URL: https://api.bytelyst.com/platform/api
NEXT_PUBLIC_DEVOPS_API_URL: https://api.bytelyst.com/devops
container_name: devops-web
ports:
- '3049:3000'
networks:
- default
- platform_net
restart: unless-stopped
depends_on:
backend:
condition: service_healthy
environment:
- NODE_ENV=production
networks:
default: {}
platform_net:
external: true
name: learning_ai_common_plat_default