# 🖥️ Server – sparfuchs-koblenz
## Server (Hetzner Cloud)
| Eigenschaft | Wert |
|-------------|---------------------------------------|
| Provider | Hetzner Cloud |
| Projekt | Sparfuchs |
| Server-ID | #XXXXXXX |
| Name | sparfuchs-koblenz |
| Typ | CPX22 (2 vCPU, 4 GB RAM, 80 GB SSD) |
| Standort | Falkenstein (eu-central) |
| Image | Ubuntu 24.04 |
| IPv4 | xxx.xxx.xxx.xxx |
| IPv6 | xxxx:xxxx:xxxx::/64 |
| Preis | 7,99 € + 0,50 € IPv4 = 8,49 € / Monat |
## SSH-Zugang
```bash
ssh
[email protected]
```
- **Benutzer:** `sparfuchs` (sudo ohne Passwort)
- **SSH-Key:** `~/.ssh/id_ed25519`
- **Fingerprint:** `SHA256:XXXXXXXXXX`
- **Root-Login:** deaktiviert
- **Passwort-Login:** deaktiviert
## Firewall (Hetzner)
| Port | Protokoll | Dienst |
|------|-----------|--------|
| 22 | TCP | SSH |
| 80 | TCP | HTTP |
| 443 | TCP | HTTPS |
| – | ICMP | Ping |
## Cloud Config (beim Erstellen angewendet)
- Benutzer `sparfuchs` erstellt mit sudo & SSH-Key
- `fail2ban` installiert & aktiviert (Brute-Force-Schutz SSH)
- `ufw` Firewall auf Server-Ebene aktiviert (Ports 22, 80, 443, ICMP)
- SSH gehärtet (kein Root, kein Passwort, MaxAuthTries 3)
- Pakete beim ersten Start aktualisiert
- Automatischer Neustart nach Setup
## Snapshot
- Snapshot nach Ersteinrichtung erstellt (Server gestoppt → Snapshot → Server gestartet)
- Dient als saubere Basis-Wiederherstellung
## Domain & DNS (Cloudflare)
| Eigenschaft | Wert |
|-------------|-----------------------------|
| Domain | sparfuchs-koblenz.com |
| Registrar | Cloudflare Registrar |
| Account |
[email protected] |
| Plan | Free |
| Proxy | Aktiv (Mit Proxy đźź ) |
| SSL | Full (strict) |
### DNS-Records
| Typ | Name | Wert | Proxy | TTL |
|-----|-------|--------------|--------|------|
| A | `@` | xxx.xxx.xxx.xxx | âś… Ja | Auto |
| A | `www` | xxx.xxx.xxx.xxx | âś… Ja | Auto |
> ⚠️ Hetzner DNS-Zone für sparfuchs-koblenz.de kann gelöscht werden – nicht mehr benötigt.
## Reverse Proxy: Caddy
- Caddy installiert & konfiguriert
- Weiterleitung → FastAPI Port 8000
- SSL: Cloudflare Origin Certificate (Full strict)
## Anwendung: Sparfuchs
- Code auf VPS deployed & läuft
- FastAPI + SQLite
- systemd-Services aktiv (FastAPI + Import-Timer 02:00)
- JWT-Auth fĂĽr Admin-Bereich aktiv
- Gruppe "Grundnahrungsmittel" per is_locked gesperrt
- **Ă–ffentlich erreichbar unter: https://www.sparfuchs-koblenz.com** âś…
## Nächste Schritte
- [x] Server erstellen & absichern
- [x] Snapshot als Basis erstellt
- [x] DNS via Cloudflare eingerichtet (Proxy aktiv)
- [x] Caddy installiert & konfiguriert
- [x] Sparfuchs-Code deployed & läuft
- [x] SQLite-DB migriert
- [x] systemd-Services eingerichtet
- [x] JWT-Auth aktiviert
- [x] Funktionstest – erreichbar unter www.sparfuchs-koblenz.com
- [ ] Hetzner DNS-Zone `sparfuchs-koblenz.de` löschen
- [ ] E-Mail: Entscheidung offen – ob und wo einrichten (MX-Record, Anbieter, oder keine)
## Links
- [Sparfuchs](https://www.sparfuchs-koblenz.com)
- [Hetzner Console – Server](https://console.hetzner.com/projects/PROJEKT-ID/servers/XXXXXXX/overview)
- [Cloudflare DNS](https://dash.cloudflare.com/XXXXXXXX/sparfuchs-koblenz.com/dns/records)
- [Cloud Config Tutorial](https://community.hetzner.com/tutorials/basic-cloud-config/de)
- [JWT-Auth Plan](Sparfuchs-JWT-Auth-Plan.md)
---
[[Hinweise/Impressum|Impressum]] | [[Hinweise/Datenschutzerklärung|Datenschutz]]