Prerequisites
What you need before deploying NestFleet.
Required
Docker + Docker Compose v2
All NestFleet services run in Docker containers. Compose v2 is required (the docker compose sub-command, not the legacy docker-compose).
Docker Engine 24+ · Docker Compose 2.20+
LLM API key
NestFleet requires access to a large language model for triage, auto-reply, and change request drafting. Supported providers: Anthropic (recommended), OpenAI, Google Gemini, or a locally-running Ollama instance. The API key is encrypted at rest using AES-256-GCM.
PostgreSQL 16
NestFleet uses PostgreSQL with the pgcrypto extension (installed automatically). You can use the bundled PostgreSQL container in docker-compose.prod.yml, or bring your own managed database (Hetzner Managed DB, RDS, etc.).
A public domain + open ports 80 and 443
Required for production TLS. Caddy provisions a Let's Encrypt certificate automatically when NESTFLEET_DOMAIN is set and the domain resolves to your server. Ports 80 (ACME challenge) and 443 (HTTPS) must be reachable from the internet.
Optional
GitHub App credentials
Required only if you want NestFleet to draft pull requests and ingest GitHub issues. See GitHub App Setup.
SMTP / email provider
For inbound email ingestion and outbound auto-replies. Supported: Postmark (POSTMARK_API_KEY), Resend (RESEND_API_KEY), or any SMTP relay (SMTP_HOST /SMTP_USER /SMTP_PASS).
Telegram Bot token
For Telegram channel ingestion. Create a bot via @BotFather and set TELEGRAM_BOT_TOKEN.
Minimum server specs
| Use case | CPU | RAM | Disk |
|---|---|---|---|
| Dev / single product | 2 vCPU | 2 GB | 20 GB SSD |
| Production (1–3 products) | 2 vCPU | 4 GB | 40 GB SSD |
| Production (5+ products) | 4 vCPU | 8 GB | 80 GB SSD |
Hetzner CAX21 (Arm64, 4 vCPU / 8 GB / 80 GB, ~€7/mo) is a cost-effective choice for production.