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
- Create a PostgreSQL database and user.
- Copy
configs/manager.example.ymlto the Manager config path used at runtime. Community README uses/etc/zcs/manager.yml. - Set database, networking, TLS paths, and CORS origins.
- Migrate, then start:
./bin/manager -config /etc/zcs/manager.yml -migrate
./bin/manager -config /etc/zcs/manager.ymlCommunity 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.shThe 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
- Copy
configs/agent.example.yml. - Set
server.manager_urlto the Manager URL. - Enroll according to Agent enrollment.
- 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/readyCommunity 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_modemismatch - 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.