Self-Hosted Installation
Install Agent Studio on your own server. Everything runs locally — your code never leaves your infrastructure.
System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| OS | Ubuntu 22.04 / Debian 12 / AlmaLinux 8+ / Rocky 8+ / RHEL 8+ | Ubuntu 24.04 LTS |
| CPU | 2 cores (x64) | 4+ cores |
| RAM | 4 GB | 8+ GB |
| Disk | 20 GB free | 50+ GB SSD |
| Network | Outbound HTTPS | Static IP + domain |
| Claude CLI | Anthropic Claude Code (claude login) | |
Quick Install
One command installs everything: PostgreSQL, Redis, Node.js, nginx, and all Agent Studio services.
What Gets Installed
- PostgreSQL 16 — task database, project metadata
- Redis — job queue, real-time streaming
- Controller — API server, task orchestration
- Executor — spawns Claude sessions, runs tasks
- Guard — license enforcement, heartbeat
- UI — Next.js dashboard (port 9802)
- nginx — reverse proxy (port 9800, configurable)
- systemd — auto-start on boot, restart on failure
Architecture
The only external connection is the Guard → Control Plane heartbeat (HTTPS, every 60s). All code execution happens locally on your server.
Claude CLI Setup
After installation, set up Claude Code on the server:
First Login
- Open
http://your-server-ip:9800in your browser - Create your admin account
- Create a project pointing to your repository
- Run your first task
Port Reference
| Service | Default Port | Env Override | Notes |
|---|---|---|---|
| nginx (public) | 9800 | AGENTINA_HTTP_PORT | Customer-facing dashboard |
| Controller | 9801 | AGENTINA_CONTROLLER_PORT | localhost only |
| UI | 9802 | AGENTINA_UI_PORT | localhost only |
| Guard | 9803 | AGENTINA_GUARD_PORT | localhost only |
| Redis | 9810 | AGENTINA_REDIS_PORT | Dedicated instance |
| PostgreSQL | 5432 | — | Uses system PostgreSQL |
All ports are chosen to avoid conflicts with common services (80, 443, 3000, 5432, 6379, 8080). Safe to install alongside existing applications.
Service Management
Upgrading
Upgrades preserve your database, license, and configuration. Only the runtime binaries are replaced.
Troubleshooting
Service won't start
journalctl -u agentina-controller -n 50. Common causes: PostgreSQL not running, Redis not running, missing environment variables.Tasks fail with "claude not found"
npm install -g @anthropic-ai/claude-code && claude loginLicense expired
Can't connect to dashboard
nginx -t && systemctl status nginx. Ensure port 9800 is open in your firewall (ufw allow 9800).Files module — "Permission denied" when creating folders
sudo mkdir -p /home/agentina sudo chown -R agentina:agentina /home/agentina echo 'FILES_ROOT=/home/agentina' | sudo tee -a /etc/agentina/studio.env sudo systemctl restart agentina-controller
Controller won't start — ADMIN_PASSWORD not set
ADMIN_PASSWORD in the environment. Set it in /etc/agentina/studio.env and restart:echo 'ADMIN_PASSWORD=your-secure-password' >> /etc/agentina/studio.env systemctl restart agentina-controllerFresh installs (v0.1.1+) generate this automatically. Only needed if upgrading from v0.1.0.
Security
All runtime bundles are obfuscated and integrity-verified at startup. The license guard runs independently and enforces machine binding, signed grace state, and tamper detection. See the security page for details.