⚠️ The public repository has not shipped yet. The OSS publication (Phase 5) — public GitHub repo, install script, license file in the repo root — is still in progress. Everything below describes how self-hosting works once it lands; today there is nothing public to clone. If you want early access, contact us.
Netdexpert ships under the Functional Source License (FSL-1.1-ALv2) —
free to self-host forever, blocks competing SaaS resale, auto-converts to
Apache 2.0 two years after each release. Same code as the cloud product;
flip NETDEX_MODE to switch between single-tenant and multi-tenant.
Prerequisites
- Docker (20.10 or later) + Docker Compose v2
- 2 GB RAM, 2 GB disk
- Ports 8080 (frontend) + 4001 (API) — both configurable
- A box you can reach over HTTP — your laptop, a homelab VM, a Hetzner CX11
Path A — one-line install (coming with the OSS publication)
When Phase 5 ships, the canonical install will be a one-line script that
pulls a pinned docker-compose.yml + .env.example and runs
docker compose up -d. Until then, use Path B.
Path B — clone and docker compose up
Once the public repo is live:
git clone <public repo — not yet published>
cd netdexpert
cp .env.example .env
docker compose up --build
Then open localhost:8080. By default this runs in
NETDEX_MODE=single — no auth wall, no tenant header, one user. The compose
stack bundles a Postgres 17 service (Netdexpert is Postgres-only) plus
the API and frontend; nothing else to provision.
To switch to multi-tenant mode (matches the cloud product):
# in .env
NETDEX_MODE=multi
FORGE_TOKEN_SECRET=<openssl rand -hex 32>
FORGE_ENCRYPTION_KEY=<openssl rand -hex 32>
# optional: point at managed Postgres instead of the bundled service
# DATABASE_URL=postgresql+psycopg://…
Volumes + backup
Two named Docker volumes hold all state:
netdex_pgdata— the Postgres databasenetdex_data— file uploads (/data/storage)
Back up with docker exec netdex-postgres pg_dump -U netdex netdex > backup.sql
plus an rsync of the uploads volume. For managed-Postgres deployments, use
your provider’s PITR (Neon has it built in; AWS RDS has automated backups).
License
FSL-1.1-ALv2. You can:
- Run Netdexpert for your own internal use, forever, free.
- Modify the source, fork it, run patched versions internally.
- Build features on top of it for your team.
You cannot offer Netdexpert (or a derivative) as a paid hosted service that competes with our cloud product, until the auto-conversion clock runs out — two years after each release, that release converts to Apache 2.0 and the restriction lifts.
Next steps
- Getting started if you prefer the cloud signup path
- MCP integration — wire your LLM client to your local instance
- The compact API works identically in self-host mode:
curl http://localhost:4001/api/help