Huge update to organization. Added future numbus projects.

This commit is contained in:
Raphaël Numbus
2026-03-13 11:37:53 +01:00
parent 3d3154f25f
commit 99d19af39a
22 changed files with 414 additions and 49 deletions
+84 -29
View File
@@ -1,54 +1,109 @@
# ☁️ Numbus Server: Your Personal Cloud, Simplified 🚀
# ☁️ Welcome to Numbus 🚀
Welcome to the **Numbus Server** project! This repository provides a complete NixOS configuration to deploy a personal home server with a rich set of services in minutes. Our goal is to make self-hosting accessible to everyone, allowing you to take back control of your data with a solution that is easy to manage and highly reliable.
## ✨ Features
- 🌐 **Free & Open-Source:** Built with transparency and community collaboration in mind.
- 🚀 **Easy Deployment:** Get your server up and running in minutes with a single command.
- 🛠️ **Set & Forget:** A highly reliable, low-maintenance solution.
- 🔒 **Secure by Design:** Strong security practices are at the core of our configuration.
- 📦 **Popular Services:** Access a wide range of popular, pre-configured services.
- ⚙️ **Declarative & Reproducible:** Thanks to NixOS, your system configuration is entirely declarative, ensuring reproducibility and easy maintenance.
## 🛠️ Key Technologies
- **NixOS:** A declarative Linux distribution that makes system management a breeze.
- **Nix Flakes:** For reproducible builds and dependency management.
- **Docker & Docker Compose:** To run containerized services with ease.
- **Traefik:** A modern reverse proxy for securely exposing services.
- **Sops-nix:** For secure and convenient management of secrets.
- **NixOS-anywhere:** For seamless initial deployment to any machine.
- **Disko:** For declarative and predictable disk partitioning.
Welcome to the **Numbus Server** project! This repository provides a complete selection of highly customizable NixOS configurations to deploy **home servers**, **backup servers**, **computers**, **TVs** in an automated manner. Deploy devices in hours instead of days !
## 🚀 Getting Started
The entire deployment process is automated with the `deploy.sh` script. This script dynamically adapts the configuration to your hardware, network environment, and secrets.
The entire deployment process is automated around a bash script. It helps to dynamically adapt the configuration to your hardware, network environment, and secrets.
**1. Clone the Repository:**
### Requirements :
#### For numbus-server :
- A NixOS-based machine to deploy from
- A NixOS-based live machine to deploy to
- An email address with automated mail sending support
- A valid, public domain name
#### For numbus-backup-server :
- A NixOS-based machine to deploy from
- A NixOS-based live machine to deploy to
- An email address with automated mail sending support
- A valid domain name
#### For numbus-computer :
- A NixOS-based machine to deploy from
- A NixOS-based live machine to deploy to
#### For numbus-tv :
- A NixOS-based machine to deploy from
- A NixOS-based live machine to deploy to
### On your Nix-based machine :
**1. Clone the Repository :**
```bash
git clone https://git.numbus.eu/raphael/numbus-server.git
cd numbus-server
git clone https://git.numbus.eu/raphael/numbus.git
cd numbus
```
**2. Run the Deployment Script:**
**2. (Optional) Fill in the configuration file :**
This step is globally recommended as it reduces the risks of typos in the credentials. It also is better suited for repeated deployments to multiple machines.
```bash
nano $your_choosed_device.conf
```
Example: if you want to deploy a server
```bash
nano numbus-server.conf
```
**3. Run the Deployment Script :**
```bash
./deploy.sh
```
**3. Follow the Prompts:**
**4. Follow the script's Prompts :**
> If you followed **step 2**, then choose non-interactive mode.
> If you skipped **step 2**, then choose interactive mode.
The script will guide you through the setup process, including choosing a deployment mode and providing the necessary information. Once completed, the script will:
- Adapt the configuration to your machine.
- Generate SSH and `sops` keys.
- Encrypt secrets for secure storage.
- Generate configuration files for Docker services.
- Deploy the NixOS configuration using `nixos-anywhere`.
- Generate configuration files for Podman services.
- Deploy the NixOS configuration to the remote using `nixos-anywhere`.
- Verify the deployment and guide you through the final setup of the web UIs.
## ✨ Features
- 🌐 **Free & Open-Source :** Built with transparency and community collaboration in mind.
- 🚀 **Easy Deployment :** Get your server up and running in minutes with a single command.
- 🛠️ **Set & Forget :** A highly reliable, low-maintenance solution.
- 🔒 **Secure by Design :** Strong security practices are at the core of our configuration.
- 📦 **Popular Services :** Access a wide range of popular, pre-configured services.
- ⚙️ **Declarative & Reproducible :** Thanks to NixOS, your system configuration is entirely declarative, ensuring reproducibility and easy maintenance.
## 🛠️ Key Technologies
#### Global project :
- **[NixOS](https://nixos.org):** A declarative Linux distribution that makes system management a breeze.
- **[Nix Flakes](https://wiki.nixos.org/wiki/Flakes):** For reproducible builds and dependency management.
- **[Sops-nix](https://github.com/Mic92/sops-nix):** For secure and convenient management of secrets.
- **[NixOS-anywhere](https://github.com/nix-community/nixos-anywhere):** For seamless initial deployment to any machine.
- **[Disko](https://github.com/nix-community/disko):** For declarative and predictable disk partitioning.
#### Server-centric features :
- **[SnapRAID](https://www.snapraid.it):** Keep your data safe.
- **[Qemu/KVM](https://www.qemu.org):** Run virtual with near-native performance.
- **[Podman](https://podman.io):** Run rootless, containerized services with ease.
- **[Traefik](https://traefik.io/traefik):** A modern reverse proxy for securely exposing services.
#### Desktop-centric features :
- **[GNOME](https://www.gnome.org):** A modern, elegant desktop environment.
- **[KDE Plasma](https://kde.org):** A full-featured and highly customizable desktop environment.
#### TV-centric features :
- **[KDE Plasma Bigscreen](https://plasma-bigscreen.org):** An open-source TV interface for Linux.
## 🔧 Deployment Modes
The `deploy.sh` script offers three modes to suit your needs: