Server / Docker Deployment
Server mode runs ADA on a VPS or cloud instance with Docker Compose, Nginx reverse proxy, and Let's Encrypt SSL. JWT auth mandatory.
Server Prerequisites
OS: Ubuntu 22.04+ or Debian 12+
RAM: 2 GB min, 4 GB recommended
CPU: 2 vCPU min
Ports: 80, 443 open inbound
# Node.js 22 via nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 22 && nvm use 22
# Docker + Docker Compose
curl -fsSL https://get.docker.com | sh
# Nginx
apt install nginx certbot python3-certbot-nginxServer Installation
git clone https://github.com/jonathanARMS23/AI-Dev-Assistant.git /opt/ada
cd /opt/ada
ada server init --remote \
--domain ada.your-domain.com \
--email admin@your-domain.com
# Generates docker-compose.yml, nginx.conf, .env.server, ssl/
nano .env.server # Edit ANTHROPIC_API_KEY + ADA_JWT_SECRET before deploying
ada server deploy
# → docker compose up --build -d
# → certbot --nginx -d ada.your-domain.com
# → nginx -s reload
# → Health check verificationRequired Env Variables
| Variable | Required | Description |
|---|---|---|
ANTHROPIC_API_KEY | yes | Anthropic API key (sk-ant-...) |
ADA_JWT_SECRET | yes | JWT HS256 secret — min 64 chars. Generate: openssl rand -hex 32 |
ADA_DB_PATH | no | SQLite path (default: /data/ada-api.db) |
ADA_IPC_PORT | no | IPC TCP port (default: 3099, inter-container) |
ADA_API_PORT | no | REST+WS port (default: 3001) |
ADA_UI_PORT | no | Next.js port (default: 7777) |
Nginx Config (generated)
# /etc/nginx/sites-available/ada
server {
listen 443 ssl;
server_name ada.your-domain.com;
location / {
proxy_pass http://localhost:7777; # ada-ui
}
location /api {
proxy_pass http://localhost:3001; # ada-api REST
}
location /ws {
proxy_pass http://localhost:3001; # ada-api WebSocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}Security in server mode
JWT auth is mandatory. CORS + Origin check enforced. IPC is TCP loopback-only (127.0.0.1:3099) — never exposed to the network. Never commit .env.server to version control.