5.4 KiB
title: Nixopus created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, deployment, nix, devops, homelab] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=Deployment, https://github.com/raghavyuva/nixopus]
🚀 Nixopus
⚠️ Confiance : medium — projet jeune (1,4k ⭐), encore en phase de maturation. À évaluer sur une VM jetable avant déploiement critique.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | nixopus.com |
| GitHub | raghavyuva/nixopus |
| License | Apache-2.0 |
| Langage | Go (backend) + Nix (configs) + TypeScript (UI) |
| Étoiles GitHub | 1,4k ⭐ |
| Catégorie | cat-deployment |
| Stack | Nix + Docker |
📝 Description
Nixopus est un outil de déploiement et de management de serveurs qui mise sur l'écosystème Nix/NixOS pour apporter reproductibilité et atomicité aux déploiements. L'idée directrice est de pouvoir déclarer l'état complet d'un serveur (paquets, services, configs, secrets) en un seul endroit, et de le pousser via une UI web, sans avoir à manipuler manuellement le langage Nix.
Le projet se positionne comme une surcouche web à NixOS : pour les utilisateurs rebutés par la verbosité de configuration.nix ou la complexité de nix flakes, Nixopus propose une UI qui génère et applique les configs. Il intègre aussi la gestion de fichiers, le monitoring de services, et le partage de secrets (via SOPS/age) entre les co-admins.
Fonctionnalités principales :
- ✅ Déploiement déclaratif de serveurs NixOS via UI web
- ✅ Gestion de fichiers : explorateur, éditeur, upload (rôle similaire à un self-hosted OwnCloud léger)
- ✅ Monitoring des services systemd et des containers Docker présents sur l'hôte
- ✅ Secrets management : SOPS/age, partage entre membres de l'équipe
- ✅ Multi-serveurs : orchestrer depuis une seule UI un parc de VM NixOS
- ✅ Templates : profils prédéfinis (web server, DB, dev machine)
- ✅ API REST pour scripter
Positionnement : à mi-chemin entre NixOS pur (powerful mais exigeant) et PaaS classique (app-coolify, app-portainer). Pour un homelab avec 1-5 serveurs NixOS, c'est un confort appréciable. Pour de la production critique ou un parc hétérogène (Debian, Ubuntu, NixOS mélangés), c'est trop jeune.
Maturité : 1,4k ⭐, commits fréquents mais changelog parfois instable, peu de retours d'usage en prod. À surveiller, pas à adopter en prod critique sans test approfondi.
🚀 Installation
Prérequis
- Un hôte NixOS existant (au moins un)
gitetnixinstallés- Docker (pour le mode "binaire conteneurisé")
Via Nix (sur l'hôte de management)
# Cloner le repo
git clone https://github.com/raghavyuva/nixopus.git
cd nixopus
# Lancer en local
nix develop
cargo run --release
# ou via Docker
docker compose up -d
docker-compose.yml
# docker-compose.yml
services:
nixopus:
image: raghavyuva/nixopus:latest
container_name: nixopus
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- nix-data:/data
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- NIXOPUS_DB=postgres
- NIXOPUS_DB_HOST=db
- NIXOPUS_DB_PASSWORD=changeme
db:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_PASSWORD: changeme
POSTGRES_DB: nixopus
volumes:
- nix-db:/var/lib/postgresql/data
volumes:
nix-data:
nix-db:
⚙️ Configuration
- Premier hôte : ajouter un serveur NixOS cible via SSH (clé publique), Nixopus va y installer l'agent
- Templates : choisir un template (LAMP, Node, Postgres, ou custom Nix config)
- Secrets : créer un vault SOPS/age, partager la clé publique
ageavec les co-admins - Monitoring : intervalle de scrape (par défaut 30s, configurable par hôte)
- Backups : pas de système de backup intégré — à faire en aval (Borg, Restic, NixOS impermanence)
🔗 Alternatives
- app-coolify — PaaS Docker plus mature, sans la complexité de Nix
- app-portainer — UI Docker, pas de notion Nix
- NixOps / colmena — l'original pour déployer du NixOS, mais CLI only
- Terraform + Packer — IaC multi-providers, courbe d'apprentissage raide
- Ansible + Semaphore — IaC déclaratif sans Nix, plus grand public
🔒 Sécurité
- ⚠️ Nixopus est jeune : ne pas l'exposer sur Internet sans WAF/auth forte devant
- SSH keys : limiter l'utilisateur
nixopus(ou celui créé par l'agent) ànixos-rebuildvia sudoers - Secrets SOPS : stocker la master key
agedans un manager externe (Bitwarden, KeePassXC) — pas dans Nixopus - Docker socket : le montage
docker.sockdonne les droits root à Nixopus sur l'hôte ; en milieu hostile, préférer un agent distant - Mises à jour : suivre de près, le projet bouge vite et des breaking changes sont probables