74 lines
2.3 KiB
YAML
74 lines
2.3 KiB
YAML
services:
|
|
caddy:
|
|
image: caddy:2-alpine
|
|
container_name: caddy
|
|
restart: unless-stopped
|
|
environment:
|
|
- FRONTEND_UPSTREAM=frontend-dev:4321
|
|
- BACKEND_UPSTREAM=backend-dev:8081
|
|
ports:
|
|
- "8080:80"
|
|
volumes:
|
|
- ./Caddyfile:/etc/caddy/Caddyfile
|
|
depends_on:
|
|
- postgres-dev
|
|
- backend-dev
|
|
- frontend-dev
|
|
|
|
backend-dev:
|
|
image: boost-ai/demo-backend-dev:${DEV_TAG:?error DEV_TAG environment variable not set}
|
|
container_name: backend-dev
|
|
restart: unless-stopped
|
|
env_file:
|
|
- ./.env.runtime
|
|
volumes:
|
|
- ./Backend:/app
|
|
command: ["air"]
|
|
environment:
|
|
- GO_ENV=development
|
|
- BACKEND_INTERNAL_PORT=8081
|
|
- ALLOWED_ORIGINS=http://localhost:3000,http://localhost:4321,http://localhost:8080,http://windows-wsl:8080
|
|
- DATABASE_URL=postgres://boostai:boostai_dev_password@postgres-dev:5432/boostai?sslmode=disable
|
|
- JWT_SECRET=boostai-dev-jwt-secret-change-me
|
|
- SESSION_COOKIE_NAME=boostai_session
|
|
depends_on:
|
|
postgres-dev:
|
|
condition: service_healthy
|
|
ports:
|
|
- "8081:8081"
|
|
|
|
frontend-dev:
|
|
image: boost-ai/demo-frontend-dev:${DEV_TAG:?error DEV_TAG environment variable not set}
|
|
container_name: frontend-dev
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./Frontend:/app
|
|
- ./Mock-Data:/Mock-Data
|
|
- BoostAI_node_modules:/app/node_modules
|
|
command: ["pnpm", "dev", "--host", "0.0.0.0", "--port", "4321"]
|
|
environment:
|
|
- NODE_ENV=development
|
|
- ALLOWED_HOSTS=windows-wsl
|
|
|
|
postgres-dev:
|
|
image: postgres:16-alpine
|
|
container_name: postgres-dev
|
|
restart: unless-stopped
|
|
environment:
|
|
- POSTGRES_DB=boostai
|
|
- POSTGRES_USER=boostai
|
|
- POSTGRES_PASSWORD=boostai_dev_password
|
|
ports:
|
|
- "5439:5432"
|
|
volumes:
|
|
- BoostAI_postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U boostai -d boostai"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
volumes:
|
|
BoostAI_postgres_data:
|
|
BoostAI_node_modules:
|