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