For anyone passionate about digital sovereignty and homelabbing, setting up a private home server on a Single Board Computer (like a Raspberry Pi 5, Orange Pi) or a Proxmox home lab is one of the most rewarding engineering projects. However, anyone who has managed a growing homelab knows the friction that comes with it: Writing and debugging endless docker-compose.yml files with conflicting port mappings, network subnets, and missing environment variables. Heavy all-in-one platforms (CasaOS, Umbrel, Cosmos, etc.) that install bloated background web servers, daemons, and proprietary agents on your target hardware, hogging precious RAM and CPU cycles. Cloud lock-in and AI privacy leaks: Newer DevOps tools often require subscriptions or send internal infrastructure topology and credentials to proprietary US cloud APIs. To solve this, I built NjordDeploy — a lightweight, agentless, metadata-driven deployment orchestrator with 100 tested, production-ready service templates, dual Docker/Rootless Podman support, and a 100% Local AI component generator (Ollama & European sovereign AI). In this article, I want to share the architectural decisions, lessons learned, and why treating container stacks as "vessels steered into a safe home port" shaped this open-source project. ⛵ Why the Name "Njord"? In Norse mythology, Njörðr (Njord) is the god of the sea, seafaring, wind, and calm, safe harbors (from his mythological haven Nóatún, "haven of ships"). In modern DevOps, nautical metaphors are everywhere: Docker represents the shipping container and dock worker. Kubernetes (κυβερνήτης) is Greek for the helmsman or steersman. Helm is the ship's wheel. Portainer is the harbor master. NjordDeploy carries this tradition forward: it acts as your sovereign navigator, steering your container stacks, storage volumes, and reverse proxies safely through turbulent technical waters and docking them cleanly into the calm harbor of your own private server. NjordDeploy is the continuation of the PiSelfhosting project I started more than a year ago. I also started the Sovereign Stack Project, also on Github as a testing environment for PiSelfhosting. As the project got bigger and bigger, I needed another name as the project is not only for the Rasberry Pi. 🏗️ 1. Architecture: The "Zero-Agent, No-Python-on-Target" Philosophy One of the most important architectural rules of NjordDeploy is Target Purity: +-------------------------------------------------------------+ | Control Machine (Laptop / PC / Workstation) | | - NjordDeploy 3-in-1 Suite (Configurator, Editor, Web UI) | | - Local AI Engine (Ollama: Llama 3 / Mistral / Loes.ai) | | - Deterministic Jinja2 Macro Renderer & Port Manager | +-------------------------------------------------------------+ | [Agentless SSH Tunnel] | +-------------------------------------------------------------+ | Target Server (Raspberry Pi / Orange Pi / Proxmox VM / LXC) | | - NO background agents / NO custom background daemons | | - NO Python runtime requirements on host | | - Pure Docker CE or Rootless Podman Engine | | - Standard Docker Compose / Podman Compose stacks | +-------------------------------------------------------------+ Why this matters: No Background Overhead: When you deploy a stack to a Raspberry Pi or low-power mini-PC, 100% of your system resources remain dedicated to your applications (Nextcloud, Home Assistant, Immich, Jellyfin), not to a management control plane. No Lock-In: All configurations are rendered as standard, industry-standard docker-compose.yml stacks. If you ever close NjordDeploy, your containers keep running natively with standard docker compose up -d commands. Security: Zero open management ports exposed on the target server. All communication happens over encrypted SSH key authentication. 📦 2. Scaling to 100 Tested & Curated Service Stacks Starting from a small set of basic utilities, the NjordDeploy catalog recently expanded to 100 fully verified and tested service templates across 8 core domains: Category Popular Examples Included Media & Entertainment Jellyfin, Audiobookshelf, Immich, Navidrome, Radarr, Sonarr, Prowlarr, SABnzbd, Calibre-Web Smart Home & IoT Home Assistant, Zigbee2MQTT, Frigate (AI NVR), Scrypted, ESPHome, Node-RED, UniFi Controller Productivity & Cloud Nextcloud, Paperless-ngx, Stirling PDF, Actual Budget, Vikunja, Focalboard, Flatnotes, Mealie AI & LLM Services Open WebUI, Ollama LLM Engine, LiteLLM AI Gateway, LibreChat, Voicebox TTS/STT, n8n Privacy & DNS AdGuard Home, Pi-hole, Technitium DNS, Unbound DNS, Vaultwarden Monitoring & System Uptime Kuma, Netdata, Beszel, Grafana Stack, Prometheus, Portainer, Dockge, Semaphore UI Reverse Proxies Traefik, Caddy, Nginx Proxy Manager Utilities & Storage MinIO S3, Syncthing, Headscale, Changedetection.io, CyberChef, IT-Tools, SearXNG, Gotify Every component includes automated volume path resolution (/var/njorddeploy/volumes), deterministic port conflict avoidance, healthchecks, and optional reverse proxy domain binding with automated Let's Encrypt certificates. 🤖 3. 100% Local AI Meets Zero-Cloud Component Generation What happens when you want to self-host a brand new open-source repository that isn't in any template catalog yet? Traditionally, you'd have to read the repo's README, hunt down container image tags on Docker Hub, figure out environment variables, port conflicts, volume permissions, and write YAML by hand. NjordDeploy solves this with an AI-Assisted Component Generator designed for strict data sovereignty: [ Git URL (GitHub / GitLab / Gitea / Forgejo) ] │ ▼ [ Deep Context Ingestion (README, Compose, OCI Tags) ] │ ▼ [ Strict "Air Traffic Control" Validation Prompt ] │ ▼ [ Local LLM: Ollama (Llama 3, Mistral, Qwen) OR Loes.ai (EU) ] │ ▼ [ Automated OCI Registry Verification & Jinja2 Template Output ] The Key Innovations: Universal Git Ingestion: Paste any URL from GitHub, GitLab (including nested subgroups), Codeberg, Gitea, Forgejo, or private self-hosted Git instances. "Air Traffic Control" Mathematical Constraints: AI models often hallucinate YAML keys. We created a deterministic schema contract and linter loop that forces the model to generate syntactically exact Jinja2 macros, verified ports, and OCI image tags. Total Privacy (Ollama & Loes.ai): You can run the entire pipeline locally on your workstation using Ollama (tested with Llama 3, Mistral, and Qwen) or via European sovereign cloud endpoints like Loes.ai / HostYourAI. Zero telemetry, zero subscriptions, and zero infrastructure metadata leaving your private network. 🧪 4. Rigorous Quality: The 4-Way Proxmox VE Cross-Validation Matrix To ensure that service templates work reliably across different operating environments, we built an automated 4-Way Cross-Validation Testing Matrix on Proxmox VE: ┌───────────────────────┬────────────────────────┐ │ Docker CE Engine │ Rootless Podman Engine │ ┌─────────────────┼───────────────────────┼────────────────────────┤ │ Debian 12 LXC │ Run 1: Docker on LXC │ Run 2: Podman on LXC │ ├─────────────────┼───────────────────────┼────────────────────────┤ │ QEMU Linux VM │ Run 3: Docker on VM │ Run 4: Podman on VM │ └─────────────────┴───────────────────────┴────────────────────────┘ Each of the 100 templates undergoes automated lifecycle testing: Clean Provisioning: Automated container/VM deployment via SSH. Port Conflict & Volume Auditing: Verifying permissions under both root Docker and unprivileged (rootless) Podman namespaces. HTTP Healthcheck Verification: Polling web endpoints and API responses until steady-state is confirmed. Teardown & Volume Retention Tests: Ensuring upgrades and rebuilds do not destroy persistent data. 🚀 Getting Started NjordDeploy is free for self-hosting and homelabs (BSL-1.1 licensed) and available as a portable standalone application for Linux, macOS, and Windows. Download & Launch: Grab the latest release package from GitHub Releases. Scan Your Subnet: The 5-step visual wizard auto-detects your Raspberry Pi, server, or Proxmox node via agentless SSH. Pick Your Services: Select from the 100+ catalog templates or paste a Git repository URL into the AI generator. Deploy: Watch real-time streaming logs as your stack is configured, secured, and launched. Check also my other project Sovereign-Stack 🔗 Links & Resources 🌐 Official Website & Interactive Catalog: njorddeploy.com 🐙 GitHub Core Repository: HenkVanHoek/njord-deploy 📦 Component Templates Repository: HenkVanHoek/njord-deploy-components 📖 Full Architecture & User Guides: Documentation & FAQ I would love to hear your thoughts and feedback! What self-hosted services are you running in your homelab, and what templates would you like to see added next?