2026-08-23 22:39:38 +08:00
# Frontend Development - Backend built from local source
#
# Usage:
# 1. docker compose -f docker-compose.dev.yml up -d
# 2. make dev-web
# 3. Open http://localhost:5173 (Rsbuild dev server, API auto-proxied to :3000)
#
# Rebuild backend after Go code changes:
# docker compose -f docker-compose.dev.yml up -d --build new-api
#
# Stop:
# docker compose -f docker-compose.dev.yml down
#
# Reset data:
# docker compose -f docker-compose.dev.yml down -v
services :
new-api :
build :
context : .
dockerfile : Dockerfile.dev
image : new-api-dev:local
container_name : new-api-dev
restart : unless-stopped
ports :
- "3000:3000"
volumes :
- dev_data:/data
environment :
- SQL_DSN=postgresql://root:123456@postgres:5432/new-api
- REDIS_CONN_STRING=redis://redis
- TZ=Asia/Shanghai
- BATCH_UPDATE_ENABLED=true
2026-08-29 00:31:34 +08:00
- PINEAGENTS_INTERNAL_TOKEN=${PINEAGENTS_INTERNAL_TOKEN:-} # 云超服内部管理令牌:server-core 无权限限制管理;置空关闭
2026-08-23 22:39:38 +08:00
# Local HTTP dev mode: keep Secure=false and leave TRUSTED_URL unset. This disables the refresh/logout OriginGuard so the :5173 -> :3000 dev proxy works.
- SESSION_COOKIE_SECURE=false
# For HTTPS only: set Secure=true and list every exact trusted HTTPS browser Origin. This does not configure relay CORS.
# - SESSION_COOKIE_SECURE=true
# - SESSION_COOKIE_TRUSTED_URL=https://example.com,https://admin.example.com
depends_on :
redis :
condition : service_started
postgres :
condition : service_healthy
networks :
- dev-network
redis :
image : redis:7-alpine
container_name : new-api-dev-redis
restart : unless-stopped
networks :
- dev-network
postgres :
image : postgres:15-alpine
container_name : new-api-dev-pg
restart : unless-stopped
environment :
POSTGRES_USER : root
POSTGRES_PASSWORD : 123456
POSTGRES_DB : new-api
volumes :
- dev_pg_data:/var/lib/postgresql/data
networks :
- dev-network
healthcheck :
test : [ "CMD-SHELL" , "pg_isready -U root -d new-api" ]
interval : 5s
timeout : 3s
retries : 5
volumes :
dev_data :
dev_pg_data :
networks :
dev-network :
driver : bridge