- Update README, AGENTS.md, docs/index.md, docs/deployment/cd.md, docs/services/forgejo.md: replace deploy-rs with Comin everywhere - Fix repo URL references (cryodev-server -> cryodev) - Fix forgejo admin create command to use shell alias - Rewrite cd.md for Comin-only deployment
94 lines
3.5 KiB
Markdown
94 lines
3.5 KiB
Markdown
# Cryodev NixOS Configuration Documentation
|
|
|
|
Willkommen zur Dokumentation der **cryodev** NixOS-Infrastruktur.
|
|
|
|
## Quick Links
|
|
|
|
### Getting Started
|
|
|
|
- [Voraussetzungen](getting-started/prerequisites.md) - Benötigte Tools
|
|
- [Neuen Raspberry Pi hinzufügen](getting-started/new-client.md) - Kompletter Workflow für neue Clients
|
|
- [SD-Image Referenz](getting-started/sd-image.md) - Details zum Image-Build
|
|
- [Erstinstallation (Server)](getting-started/first-install.md) - Bootstrap für x86_64 Hosts
|
|
- [Neuinstallation](getting-started/reinstall.md) - Reinstall mit Hardware-Änderungen
|
|
|
|
### Services
|
|
|
|
- [SOPS Secrets](services/sops.md) - Geheimnisverwaltung mit sops-nix
|
|
- [Headscale](services/headscale.md) - Self-hosted Tailscale Server
|
|
- [Headplane](services/headplane.md) - Web-UI für Headscale
|
|
- [Tailscale](services/tailscale.md) - Mesh-VPN Client
|
|
- [Mailserver](services/mailserver.md) - E-Mail Stack (Postfix/Dovecot)
|
|
- [Forgejo](services/forgejo.md) - Git-Hosting mit CI/CD
|
|
- [Netdata](services/netdata.md) - Monitoring und Alerting
|
|
|
|
### Deployment
|
|
|
|
- [Continuous Deployment](deployment/cd.md) - Push- und Pull-basiertes Deployment
|
|
- [DNS-Konfiguration](deployment/dns.md) - Benötigte DNS-Einträge
|
|
|
|
## Architektur
|
|
|
|
```
|
|
Internet
|
|
|
|
|
cryodev.xyz
|
|
|
|
|
+-------------------+
|
|
| cryodev-main |
|
|
| (x86_64 Server) |
|
|
+-------------------+
|
|
| - Headscale |
|
|
| - Headplane |
|
|
| - Forgejo |
|
|
| - Mailserver |
|
|
| - Netdata Parent |
|
|
+-------------------+
|
|
|
|
|
Tailscale Mesh VPN
|
|
|
|
|
+-------------------+
|
|
| cryodev-pi |
|
|
| (Raspberry Pi 4) |
|
|
+-------------------+
|
|
| - Tailscale |
|
|
| - Netdata Child |
|
|
| - Comin (GitOps) |
|
|
+-------------------+
|
|
```
|
|
|
|
## Installations-Szenarien
|
|
|
|
| Szenario | Beschreibung | Anleitung |
|
|
|----------|--------------|-----------|
|
|
| **Neuer Raspberry Pi** | Config erstellen → Image bauen → Flashen | [new-client.md](getting-started/new-client.md) |
|
|
| **Erstinstallation (Server)** | x86_64 Host, manuelle Installation | [first-install.md](getting-started/first-install.md) |
|
|
| **Neuinstallation** | Bestehender Host, neue Hardware | [reinstall.md](getting-started/reinstall.md) |
|
|
|
|
Für Raspberry Pi: [SD-Image Referenz](getting-started/sd-image.md)
|
|
|
|
## Verzeichnisstruktur
|
|
|
|
```
|
|
.
|
|
├── flake.nix # Entry point, inputs and outputs
|
|
├── constants.nix # Zentrale Config (Domains, IPs, Ports)
|
|
├── hosts/ # Host-spezifische Konfigurationen
|
|
│ ├── cryodev-main/
|
|
│ └── cryodev-pi/
|
|
├── modules/ # Wiederverwendbare NixOS-Module
|
|
│ └── nixos/
|
|
├── pkgs/ # Eigene Pakete
|
|
├── overlays/ # Nixpkgs Overlays
|
|
├── templates/ # Templates für neue Hosts
|
|
├── scripts/ # Helper-Scripts (install.sh)
|
|
├── apps/ # Nix Apps (rebuild)
|
|
└── lib/ # Helper-Funktionen (utils.nix)
|
|
```
|
|
|
|
## Deployment-Strategien
|
|
|
|
| Host | Strategie | Tool | Beschreibung |
|
|
|------|-----------|------|--------------|
|
|
| `cryodev-main` | Pull-basiert | Comin | Pollt Repository auf Aenderungen |
|
|
| `cryodev-pi` | Pull-basiert | Comin | Pollt Repository auf Aenderungen |
|