Edge Infrastructure

Run services on tiny hardware, without containers

HarborNode is a lightweight program service for edge devices. No Docker, no orchestration overhead, just install, configure once, and it's there on every boot.

What it does

Designed for constrained environments

HarborNode strips container complexity away so you can focus on your service logic. Minimal footprint. Predictable behaviour. Works on hardware you already have.

No container runtime required

Deploy directly to edge devices without Docker, containerd, or any OCI toolchain. Reduces memory overhead significantly on low-RAM hardware.

Single binary deployment

Package your service as a single artifact. Copy it, run it. No dependency graphs to resolve on the target device.

Fast cold starts

Services start in milliseconds. Ideal for intermittent workloads or devices that power-cycle frequently.

Isolated process model

Each service runs in a controlled process with defined resource limits. Failures stay contained without full container overhead.

Unix-native & composable

Plays well with systemd, shell scripts, and standard Unix tooling. Add it to your existing workflows without friction.

Works on Raspberry Pi

Tested on ARMv7 and ARM64 boards. Run real services on the hardware sitting in your lab right now.

How it works

A program service, not a CLI tool

HarborNode runs as a persistent system service — configure it once and it is available on every boot. No manual intervention needed.

1

Install & configure

Install the HarborNode binary and drop a minimal config file. Point it at your services, set your preferred port, done.

Enable via systemd (or equivalent)

Register HarborNode as a systemd unit. It starts automatically on boot, recovers from crashes, and stays out of your way.

Manage through the web UI

Open [device-ip]:[port] in any browser. Start, stop, inspect logs, and reconfigure services — no terminal required.

Pre-baked Pi image coming soon

Flash a ready-to-run ISO directly to your Raspberry Pi. HarborNode will be fully configured and running on first boot — zero setup.

/etc/harbornode/config.toml
# HarborNode config
data_dir = "/etc/harbornode/data"
listen_port = 3080
Enable on boot
$ systemctl enable --now harbornode
[INFO] Starting HarborNode runtime
[INFO] Version 0.1.0
[INFO] Node Id: 30a29cf1-c6e1-4a5b-a7a9-76706f2724a7
[INFO] Portal at http://0.0.0.0:3080

Hosted Portal

Use the live HarborNode portal at harbor-node-ports.vercel.app and connect it to your own backend API using VITE_API_BASE_URL.

Read hosted portal guide →
Deploy Stack

Docs, Portal, and API working together

HarborNode production setup uses separate endpoints for documentation, the hosted dashboard UI, and your live backend API. This keeps the frontend static and fast, while backend control stays in your hands.

Documentation
HarborNode Docs
https://harbornode.vercel.app/
Hosted UI
Portal Dashboard
Open setup guide first
Live URL: https://harbor-node-ports.vercel.app/
Backend API
Your Live HarborNode Runtime
https://your-backend-domain/api

Connect hosted portal to your backend by setting VITE_API_BASE_URL in Vercel. Example: VITE_API_BASE_URL=https://harbornode.onrender.com/api. Full setup guide: Hosted Portal docs.

Open by design.

HarborNode is fully open source and built in public. You can inspect the code, follow architectural decisions, and run it without restrictions.

Development happens in the open. Issues, discussions, and roadmap direction are visible to everyone.

HarborNode development happens entirely in public. Inspect architectural decisions, follow commit history, and review implementation details directly in the repository.

  • • Runtime architecture and service model
  • • Active commits and pull requests
  • • Transparent change history
View repository →