Installation
Complete installation guide for all deployment options
Docker Deployment (Recommended)
Depending on your server network environment, you can choose from the following Docker registries:
| Registry | Image Address | Description |
|---|---|---|
| Docker Hub | openaigcs/aigcs:latest | Official default image |
| GitHub GHCR | ghcr.io/openaigcs/aigcs:latest | GitHub Container Registry |
| Aliyun (ACR) | registry.cn-shanghai.aliyuncs.com/openaigcs/aigcs:latest | East China 2 (Shanghai) node |
| CNB Registry | docker.cnb.cool/openaigcs/aigcs:latest | Tencent CNB registry |
Using Docker Run
You can directly replace the image name in the command below with one of the mirrors above.
Using Docker Compose
Create compose.yml:
Environment Variables
| Variable | Default | Required | Description |
|---|---|---|---|
PORT | 41905 | No | HTTP service port (leetspeak: aigcs → 41905) |
DATABASE_URL | file:./data/aigcs.db | No | SQLite database file path |
JWT_SECRET | — | ✅ | JWT signing secret (must change in production) |
ENCRYPTION_KEY | JWT_SECRET | No | AES-256-GCM encryption key (recommended separate from JWT_SECRET) |
RATE_LIMIT_MAX | 100 | No | Max requests per window |
RATE_LIMIT_WINDOW | 60 | No | Rate limit window (seconds) |
SMTP_HOST | — | No | SMTP server address |
SMTP_PORT | 587 | No | SMTP port |
SMTP_USER | — | No | SMTP username |
SMTP_PASS | — | No | SMTP password |
SMTP_FROM | — | No | Sender email address |
CAPTCHA_PROVIDER | — | No | Captcha type: turnstile / recaptcha / geetest / none |
TURNSTILE_SITE_KEY | — | No | Cloudflare Turnstile Site Key |
TURNSTILE_SECRET_KEY | — | No | Cloudflare Turnstile Secret Key |
RECAPTCHA_SITE_KEY | — | No | Google reCAPTCHA Site Key |
RECAPTCHA_SECRET_KEY | — | No | Google reCAPTCHA Secret Key |
GEETEST_ID | — | No | Geetest ID |
GEETEST_KEY | — | No | Geetest Key |
ALLOWED_ORIGINS | [] | No | Allowed CORS origins (JSON array string) |
REGISTRATION_OPEN | false | No | Whether registration is open |
GLOBAL_SYSTEM_PROMPT | — | No | Global AI system prompt |
Manual Deployment
Prerequisites
- Node.js >= 24.0.0
- pnpm >= 9.0.0
Steps
The server starts on port 41905 by default.
Process Manager (PM2)
Systemd Service
Reverse Proxy
Nginx
Caddy
EdgeOne Makers [WIP]
EdgeOne Makers deployment is planned but not yet implemented.
EdgeOne Makers support requires the
@aigcs/edgeonepackage.
Cloudflare Workers [WIP]
Cloudflare Workers deployment is planned but not yet implemented.
Vercel [WIP]
Vercel deployment is planned but not yet implemented.