Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Docker Compose development defaults
COMPOSE_PROJECT_NAME=vocata-dev

# Core service ports
POSTGRES_PORT=5432
REDIS_EXPOSE_PORT=6379
SERVER_PORT=9009
WEB_PORT=3000
ADMIN_PORT=3001
PGADMIN_PORT=5050
MAILHOG_SMTP_PORT=1025
MAILHOG_WEB_PORT=8025

# Backend profile
SPRING_PROFILES_ACTIVE=local

# Database
POSTGRES_DB=vocata_db
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres123
DB_HOST=postgres
DB_PORT=5432
DB_NAME=vocata_db
DB_USERNAME=postgres
DB_PASSWORD=postgres123

# Redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DATABASE=0

# Frontend build-time API target
VITE_APP_URL=http://localhost:9009
WEB_BUILD_MODE=production
ADMIN_BUILD_MODE=production

# Optional local mail
MAIL_USERNAME=
MAIL_PASSWORD=

# Xunfei TTS (used when AI_TTS_PROVIDER=xunfei)
XUNFEI_TTS_APP_ID=
XUNFEI_TTS_API_KEY=
XUNFEI_TTS_SECRET_KEY=

# Third-party object storage / AI
# Current backend startup still expects these entries to exist for a complete run.
QINIU_ACCESS_KEY=
QINIU_SECRET_KEY=
QINIU_BUCKET=voice-mp3
QINIU_DOMAIN=http://voice-mp3.s3.cn-north-1.qiniucs.com
QINIU_REGION=huabei
QINIU_KEY_PREFIX=Vocata
QINIU_AI_API_KEY=
QINIU_AI_BASE_URL=https://openai.qiniu.com/v1
QINIU_AI_MODEL=x-ai/grok-4-fast
QINIU_AI_TIMEOUT=60

GEMINI_API_KEY=
GEMINI_MODEL=gemini-2.5-flash-lite

OPENAI_API_KEY=
OPENAI_MODEL=gpt-3.5-turbo

SILICONFLOW_API_KEY=
SILICONFLOW_AI_MODEL=Qwen/Qwen3-8B

# Optional admin tools
PGADMIN_DEFAULT_EMAIL=admin@vocata.com
PGADMIN_DEFAULT_PASSWORD=admin123
8 changes: 4 additions & 4 deletions .github/workflows/cd-production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,7 @@ jobs:
case $service in
"vocata-server")
for i in {1..6}; do
if curl -f -m 10 "http://localhost:9009/api/actuator/health" > /dev/null 2>&1; then
if curl -f -m 10 "http://localhost:9009/api/health" > /dev/null 2>&1; then
echo "✓ 新的后端服务健康检查通过"
break
fi
Expand Down Expand Up @@ -504,7 +504,7 @@ jobs:
for service in "${SERVICES_TO_UPDATE[@]}"; do
case $service in
"vocata-server")
if ! curl -f -m 30 "http://localhost:9009/api/actuator/health" > /dev/null 2>&1; then
if ! curl -f -m 30 "http://localhost:9009/api/health" > /dev/null 2>&1; then
echo "✗ 后端服务最终健康检查失败"
HEALTH_FAILED=true
else
Expand Down Expand Up @@ -649,7 +649,7 @@ jobs:

# API健康检查 (假设使用域名)
echo "验证后端API..."
if curl -f -m 60 "https://api.vocata.com/api/actuator/health" > /dev/null 2>&1; then
if curl -f -m 60 "https://api.vocata.com/api/health" > /dev/null 2>&1; then
echo "✅ 后端API验证通过" >> $GITHUB_STEP_SUMMARY
else
echo "❌ 后端API验证失败" >> $GITHUB_STEP_SUMMARY
Expand Down Expand Up @@ -683,4 +683,4 @@ jobs:
echo "⚠️ **生产环境验证部分失败**" >> $GITHUB_STEP_SUMMARY
echo "请立即检查相关服务状态。" >> $GITHUB_STEP_SUMMARY
exit 1
fi
fi
Loading
Loading