Documentation
Docs Home › Install › Community Source Install

Community Source Install

Community source installation

Purpose

Install Zwall Community from source on Linux hosts you operate.

Prerequisites

See System requirements. Community README: Go 1.25+, Node.js 18+, PostgreSQL 15+, eBPF toolchain.

Procedure — build

git clone https://github.com/zwall-net/zwall-community.git
cd zwall-community

go build -o bin/manager ./cmd/manager
go build -o bin/agent ./cmd/agent
go build -o bin/zwallctl ./cmd/zwallctl

cd ebpf && make && cd ..
cd web && npm install && npm run build && cd ..

Verified from Community README.md.

Procedure — Manager

  1. Create a PostgreSQL database and user.
  2. Copy configs/manager.example.yml to the Manager config path used at runtime. Community README uses /etc/zcs/manager.yml.
  3. Set database, networking, TLS paths, and CORS origins.
  4. Migrate, then start:
./bin/manager -config /etc/zcs/manager.yml -migrate
./bin/manager -config /etc/zcs/manager.yml

Community Manager implements -migrate and -config. Default -config in Community source is configs/manager.yaml if you omit the flag.

Procedure — guided script

sudo ./scripts/setup.sh

The Community script is interactive and can install Full System, Core Only, or Agent Only. It may write systemd units zwall-manager and zwall-agent. On failure it stops those units and does not drop the database.

Procedure — Agent

  1. Copy configs/agent.example.yml.
  2. Set server.manager_url to the Manager URL.
  3. Enroll according to Agent enrollment.
  4. Start the Agent. Enforcement requires root.

Verification

curl -k https://MANAGER_HOST:8443/health
curl -k https://MANAGER_HOST:8443/health/live
curl -k https://MANAGER_HOST:8443/health/ready

Community installation guide names those three paths. Main Manager registers the same paths on the HTTP server (not under /api/v1 except an additional GET /api/v1/health).

Log in to the console at /login. Confirm the Agent appears (3-Agent limit).

Expected result

Manager process running, schema migrated, console reachable, at most three Agents registered.

Failure modes

  • PostgreSQL connection / ssl_mode mismatch
  • TLS files missing while server.tls.enabled: true
  • Fourth Agent registration rejected
  • Agent not root when Hosting is not enabled (Enterprise Hosting does not apply here)

Uninstall

Community scripts/uninstall.sh exists. Treat uninstall as destructive to services; preserve PostgreSQL unless you intentionally restore or drop it. See Uninstall.