Translate 8 documentation files from German to English: - docs/index.md (complete) - docs/getting-started/first-install.md (complete) - docs/getting-started/new-client.md (complete) - docs/getting-started/reinstall.md (complete) - docs/getting-started/sd-image.md (complete) - docs/deployment/dns.md (PTR, Hetzner, checklist sections) - docs/services/tailscale.md (code comments) - docs/services/forgejo.md (placeholder names)
94 lines
3.4 KiB
Markdown
94 lines
3.4 KiB
Markdown
# Cryodev NixOS Configuration Documentation
|
|
|
|
Welcome to the documentation for the **cryodev** NixOS infrastructure.
|
|
|
|
## Quick Links
|
|
|
|
### Getting Started
|
|
|
|
- [Prerequisites](getting-started/prerequisites.md) - Required tools
|
|
- [Adding a New Raspberry Pi](getting-started/new-client.md) - Complete workflow for new clients
|
|
- [SD Image Reference](getting-started/sd-image.md) - Details on image building
|
|
- [First Installation (Server)](getting-started/first-install.md) - Bootstrap for x86_64 hosts
|
|
- [Reinstallation](getting-started/reinstall.md) - Reinstall with hardware changes
|
|
|
|
### Services
|
|
|
|
- [SOPS Secrets](services/sops.md) - Secret management with sops-nix
|
|
- [Headscale](services/headscale.md) - Self-hosted Tailscale server
|
|
- [Headplane](services/headplane.md) - Web UI for Headscale
|
|
- [Tailscale](services/tailscale.md) - Mesh VPN client
|
|
- [Mailserver](services/mailserver.md) - Email stack (Postfix/Dovecot)
|
|
- [Forgejo](services/forgejo.md) - Git hosting with CI/CD
|
|
- [Netdata](services/netdata.md) - Monitoring and alerting
|
|
|
|
### Deployment
|
|
|
|
- [Continuous Deployment](deployment/cd.md) - Push- and pull-based deployment
|
|
- [DNS Configuration](deployment/dns.md) - Required DNS records
|
|
|
|
## Architecture
|
|
|
|
```
|
|
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) |
|
|
+-------------------+
|
|
```
|
|
|
|
## Installation Scenarios
|
|
|
|
| Scenario | Description | Guide |
|
|
|----------|-------------|-------|
|
|
| **New Raspberry Pi** | Create config, build image, flash | [new-client.md](getting-started/new-client.md) |
|
|
| **First Installation (Server)** | x86_64 host, manual installation | [first-install.md](getting-started/first-install.md) |
|
|
| **Reinstallation** | Existing host, new hardware | [reinstall.md](getting-started/reinstall.md) |
|
|
|
|
For Raspberry Pi: [SD Image Reference](getting-started/sd-image.md)
|
|
|
|
## Directory Structure
|
|
|
|
```
|
|
.
|
|
├── flake.nix # Entry point, inputs and outputs
|
|
├── constants.nix # Central configuration (domains, IPs, ports)
|
|
├── hosts/ # Host-specific configurations
|
|
│ ├── cryodev-main/
|
|
│ └── cryodev-pi/
|
|
├── modules/ # Reusable NixOS modules
|
|
│ └── nixos/
|
|
├── pkgs/ # Custom packages
|
|
├── overlays/ # Nixpkgs overlays
|
|
├── templates/ # Templates for new hosts
|
|
├── scripts/ # Helper scripts (install.sh)
|
|
├── apps/ # Nix apps (rebuild)
|
|
└── lib/ # Helper functions (utils.nix)
|
|
```
|
|
|
|
## Deployment Strategies
|
|
|
|
| Host | Strategy | Tool | Description |
|
|
|------|----------|------|-------------|
|
|
| `cryodev-main` | Pull-based | Comin | Polls the repository for changes |
|
|
| `cryodev-pi` | Pull-based | Comin | Polls the repository for changes |
|