Skip to content

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.

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.

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.

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
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.
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.
  • A modern browser. The UI uses WebSockets (wss://falak.example.com/app/…).
  • Optional: the falak CLI for macOS or Linux (amd64 or arm64).