Warning
Holonet is still under development and currently in a pre‑alpha phase. Do not use it in production.
Holonet is a platform for automating infrastructure management, making your systems reliable, auditable, and ready for advanced automation.
Below are several ways to install and run Holonet. Choose the option that best fits your environment.
A ready‑to‑use Compose file is provided at deployments/compose.yml.
# From the repository root
docker compose -f deployments/compose.yml up -d
# View logs
docker compose -f deployments/compose.yml logs -f holonetThis will start a PostgreSQL instance and Holonet core bound to localhost:3000.
Environment variables (editable in deployments/compose.yml):
- DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME
- LOG_LEVEL, ENABLE_NETBOX, ADMIN_USERNAME, ADMIN_EMAIL, ADMIN_PASSWORD
Build and run Holonet against an existing PostgreSQL database:
# Build image
docker build -f build/package/dockerfile -t holonet:local .
# Run container (adjust DB_* to your setup)
docker run --name holonet \
-e LOG_LEVEL=debug \
-e DB_HOST=127.0.0.1 -e DB_PORT=5432 \
-e DB_USER=postgres -e DB_PASSWORD=insecure -e DB_NAME=holonet \
-e ENABLE_NETBOX=false \
-p 3000:3000 \
holonet:localBelow is a minimal example Deployment and Service. Replace with your published image (you can build/push the Docker image from step 2) and adjust DB_* values to point to a reachable PostgreSQL service.
apiVersion: apps/v1
kind: Deployment
metadata:
name: holonet
spec:
replicas: 1
selector:
matchLabels:
app: holonet
template:
metadata:
labels:
app: holonet
spec:
containers:
- name: holonet
image: your-registry/holonet:latest
ports:
- containerPort: 3000
env:
- name: LOG_LEVEL
value: debug
- name: ENABLE_NETBOX
value: "false"
- name: DB_HOST
value: postgres
- name: DB_PORT
value: "5432"
- name: DB_USER
value: postgres
- name: DB_PASSWORD
value: insecure
- name: DB_NAME
value: holonet
---
apiVersion: v1
kind: Service
metadata:
name: holonet
spec:
type: ClusterIP
selector:
app: holonet
ports:
- name: http
port: 3000
targetPort: 3000Apply it with:
kubectl apply -f holonet.yamlNote: You must provide a PostgreSQL instance in your cluster (e.g., via a Helm chart or your own StatefulSet/Service) and point DB_* accordingly.
If you prefer a one‑liner install on a Linux host, you can use an install script approach:
curl -fsSL https://raw.githubusercontent.com/r2unit/holonet/main/scripts/install.sh | bash- The script should install a holonet binary under /usr/local/bin and optionally register a systemd service.
- If your environment restricts curl | bash, download, review, and run the script manually.
- TODO: Provide an official script URL in releases.
You can run Holonet as a single binary.
Option A — Download from releases:
- Download the appropriate archive for your OS/arch from the GitHub Releases page.
- Extract the holonet (or holonet-core) binary and place it in your PATH (e.g., /usr/local/bin).
Option B — Build from source:
# From repository root
GO111MODULE=on go build -o holonet ./cmd/core
# Environment variables (example)
export DB_HOST=127.0.0.1
export DB_PORT=5432
export DB_USER=postgres
export DB_PASSWORD=insecure
export DB_NAME=holonet
# Run
./holonetFor additional guidance and advanced configuration, see the documents linked in the Documentation section below.