44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
services:
|
|
oa-ai:
|
|
build: .
|
|
container_name: oa-ai
|
|
ports:
|
|
- "6179:3000"
|
|
environment:
|
|
- LDAP_URL=ldap://lldap:3890
|
|
- LDAP_BASE_DN=dc=tlyq,dc=ai
|
|
- LLDAP_ADMIN_PASSWORD=${LLDAP_ADMIN_PASSWORD}
|
|
- JWT_SECRET=${JWT_SECRET:-oa-shared-jwt-secret-tlyq-2026}
|
|
- COOKIE_DOMAIN=.tlyq.ai
|
|
- NODE_ENV=production
|
|
- NODE_TLS_REJECT_UNAUTHORIZED=0
|
|
- HOSTNAME=0.0.0.0
|
|
- TZ=Asia/Shanghai
|
|
- ASSETS_DB_PATH=/data/other-sites/assets/assets.db
|
|
- ISSUE_DB_PATH=/data/other-sites/issue/issue.db
|
|
- RESEND_API_KEY=${RESEND_API_KEY}
|
|
- AUTHELIA_URL=${AUTHELIA_URL:-https://sso.tlyq.ai}
|
|
- OIDC_CLIENT_ID=${OIDC_CLIENT_ID:-oa-oidc}
|
|
- OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET}
|
|
- OIDC_REDIRECT_URI=${OIDC_REDIRECT_URI:-https://oa.tlyq.ai/api/auth/callback}
|
|
volumes:
|
|
- ./.next:/app/.next
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
# 挂载外部数据目录(非单个文件),确保 SQLite WAL 文件共享
|
|
- /root/docker/ldap-ai/data/lldap:/data/other-sites/lldap
|
|
- /var/lib/docker/volumes/assets-ai_assets-data/_data:/data/other-sites/assets
|
|
- /var/lib/docker/volumes/issue-ai_issue-data/_data:/data/other-sites/issue
|
|
networks:
|
|
- webnet
|
|
healthcheck:
|
|
test: ["CMD", "node", "-e", "fetch('http://localhost:3000/api/health').then(r=>{if(!r.ok)process.exit(1)}).catch(()=>process.exit(1))"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 40s
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
webnet:
|
|
external: true
|