Requirements
Falak has two kinds of machines: one control plane host that runs Falak itself, and any number of servers that run your apps. This page lists what each needs.
Control plane host
Section titled “Control plane host”| Minimum | Recommended | |
|---|---|---|
| OS | Ubuntu 22.04 or 24.04, Debian 12 | Ubuntu 24.04 |
| CPU architecture | amd64 or arm64 | |
| RAM | 2 GB (the installer warns below 4 GB) | 4 GB; 8 GB with --observability |
| Disk | 10 GB free | 25 GB or more (images, build artifacts, backups) |
| Network | Public IPv4 (or IPv6); ports 80 and 443 free and reachable from the internet | |
| DNS | Records for the panel and its agents. host |
Also grafana. with --observability |
| Other | Root access. The installer installs Docker Engine and the Compose plugin if missing. |
The host runs only Falak. Do not use it as an app server.
DNS records
Section titled “DNS records”Replace the example IP with your host’s public address:
| Name | Type | Value | Needed for |
|---|---|---|---|
falak.example.com |
A and/or AAAA | 203.0.113.10 |
Panel, installer script, agent enrollment |
agents.falak.example.com |
A and/or AAAA | 203.0.113.10 |
Agent API (mutual TLS) |
grafana.falak.example.com |
A and/or AAAA | 203.0.113.10 |
Only with --observability |
Behind Cloudflare, all three must be DNS only. See DNS for the control plane.
Memory budget
Section titled “Memory budget”Container memory limits are caps, not reservations. Idle usage was measured with three servers enrolled and one site deployed.
| Service | Limit | Idle |
|---|---|---|
| control-plane (panel and REST API) | 512 MB | 130–150 MB |
| agent-api (agents, installer, builders) | 512 MB | 70–100 MB |
| horizon (queue workers) | 512 MB | 130–150 MB |
| reverb (websockets) | 192 MB | 50 MB |
| scheduler | 256 MB | 45 MB |
| postgres 17 | 512 MB | 40–150 MB |
| valkey | 192 MB | 15 MB |
| edge (Caddy) | 128 MB | 25–35 MB |
| builder | 1.5 GB | 10–120 MB (builds use up to about 1 GB) |
| Core total | ≈ 4.3 GB | ≈ 0.6–0.8 GB |
| Observability (gateway, Loki, Tempo, VictoriaMetrics, Grafana) | 64 + 384 + 384 + 384 + 512 MB | ≈ 0.6 GB |
Managed servers
Section titled “Managed servers”| Requirement | |
|---|---|
| OS | Ubuntu LTS, fresh install. Ubuntu 24.04 is the tested target; the installer warns on anything that is not Ubuntu. |
| CPU architecture | amd64 (x86_64) or arm64 (aarch64) |
| Init system | systemd (required) |
| Access | Root, or a user with sudo, to run the one-line install command |
| Tools | curl or wget |
| Outbound network | HTTPS to your panel (https://falak.example.com, publicly trusted certificate) and to https://agents.falak.example.com (Falak’s own CA). HTTPS to GitHub, nodejs.org and apt mirrors during provisioning, unless you set download mirrors. |
| Inbound network | SSH, plus 80/443 on servers that serve HTTP (app, web and load balancer types). The agent needs no inbound port. |
| RAM | 1 GB works for small apps. Falak adds a 2 GB swap file below 2 GB RAM and a 4 GB swap file below 8 GB. On-server builds (not available yet) would need 2 GB. |
Your apps
Section titled “Your apps”| Stack | What Falak needs from your repository |
|---|---|
| Laravel, Symfony, Statamic, PHP | A composer.json. A package.json with a build script if you compile assets. |
| Node.js, Next.js, Nuxt | A package.json with a start script that listens on $PORT. |
| Bun | A package.json (Bun is chosen when bun.lock/bun.lockb exists or packageManager says bun) with a start script. |
| Deno | A deno.json or deno.jsonc with a start task. |
| Static | An index.html, or a Vite/Astro/Create React App build without a start script. |
| Docker | A public image, or a Dockerfile plus a builder server with Docker. The container must listen on $PORT. |
| Docker Compose | A compose.yaml (repository) or pasted inline. |
Your computer
Section titled “Your computer”- A modern browser. The UI uses WebSockets (
wss://falak.example.com/app/…). - Optional: the
falakCLI for macOS or Linux (amd64 or arm64).
Next steps
Section titled “Next steps”QuickstartInstall and deploy in about ten minutes.
Production installEvery installer flag and what it does.