Skip to content

System Requirements ​

Using Docker or npm?

If you're running Horizon and Synapse via Docker or npm, most of the build dependencies below are not required. Docker needs only Docker Engine 20+. npm needs only Node.js 20+.

Horizon (API + UI) ​

DependencyVersionNotes
Node.js20+LTS recommended
pnpm9+Workspace-aware package manager
PostgreSQL15+Primary data store
ClickHouse23.8+Optional — high-volume signal analytics
Redis7+Optional — caching and fleet pub/sub

ClickHouse and Redis are optional

Horizon works with PostgreSQL alone. ClickHouse enables time-series queries over large signal volumes. Redis adds shared caching for multi-instance Horizon deployments.

Synapse (Build from Source) ​

DependencyVersionNotes
RustnightlyPingora requires nightly features
cmake3.16+Build dependency for native crates
OpenSSL1.1+ or 3.xTLS support
clang14+Required by bindgen

macOS:

sh
brew install cmake openssl

Debian / Ubuntu:

sh
apt-get install -y build-essential cmake libssl-dev libclang-dev pkg-config

Synapse (Pre-built Binary / Docker) ​

No runtime dependencies. The Docker image uses debian:bookworm-slim.

TargetBase
Dockerdebian:bookworm-slim
Linuxx86_64 or aarch64, glibc 2.36+
macOS13+ (Ventura), Apple Silicon or Intel

Development Environment ​

ToolVersionPurpose
Node.js20+Horizon API and UI
pnpm9+Package management
RustnightlySynapse build
Nx(workspace)Task orchestration
just1.0+Task runner

Hardware Recommendations ​

Synapse (per instance) ​

ScaleCPURAM
< 1K rps1 vCPU256 MB
1K–10K rps2 vCPU512 MB
10K+ rps4+ vCPU1 GB+

Horizon ​

ScaleCPURAMPostgreSQLClickHouse
< 10 sensors2 vCPU2 GBSharedOptional
10–100 sensors4 vCPU4 GBDedicatedRecommended
100+ sensors8+ vCPU8 GB+HA clusterDedicated cluster

Development ​

4+ cores, 16 GB RAM recommended (Rust compilation is heavily parallel).

Licensed under AGPL-3.0 · atlascrew.dev