KMU Server Infrastructure (On-Premise)
Dieses Repository verwaltet die komplette Infrastruktur-Konfiguration und -Dokumentation für die KMU-Organisation.
Dieses Muster geht davon aus, dass ein Headless-Server, also ein (Mini-)PC ohne eigenen Bildschirm, Tastatur und Maus, in einem Home-Office-LAN betrieben wird. Dies ist die zentrale Stütze für das Unternehmen (KMU - Kleine und Mittlere Unternehmen), das seinen Betrieb weitestgehend autark und On-Premise betreibt.
Weil es so gut passt, nutzen wir den Namen KMU, bei den Namen in unserem Muster-Aufbau.
Lediglich der unvermeidbare Internet-Anschluss schafft Abhängigkeit vom Internet Service Provider (ISP) und es wird üblicherweise ein Router als Zugangspunkt verwendet.
In den Mustern gehen wir von einer AVM Fritz!Box aus, die wir für den Übergang zum Internet nutzen.
⚠️ Wir sind im Aufbau. Also, ist diese Arbeit im Moment noch nicht als abgeschlossen zu betrachten. 🔄
📋 Übersicht
Das server-infra
Repository dient als zentrale Verwaltungseinheit für:
- Server-Konfigurationsdateien
- Automatisierungs- und Deployment-Skripte
- Infrastruktur-Dokumentation
- Service-Konfigurationen
- Systemd-Units und Service-Definitionen
🏗️ Repository-Struktur
server-infra/
├── README.md # Diese Datei
├── docs/ # Dokumentation
│ ├── architecture.md # System-Architektur
│ ├── network-layout.md # Netzwerk-Konfiguration
│ ├── installation.md # Installationsanleitungen
│ └── maintenance.md # Wartungshandbuch
├── scripts/ # Automatisierungs-Skripte
│ ├── backup/ # Backup-Skripte
│ ├── deployment/ # Deployment-Automatisierung
│ ├── monitoring/ # Überwachungs-Skripte
│ └── maintenance/ # Wartungs-Skripte
├── configs/ # Service-Konfigurationen
│ ├── gitea/ # Gitea-Konfiguration
│ ├── caddy/ # Caddy-Konfiguration
│ ├── nginx/ # Nginx-Konfiguration (optional|alternativ)
│ ├── postgresql/ # PostgreSQL-Konfiguration
│ └── ssl/ # SSL/TLS-Zertifikate (ohne Private Keys)
├── systemd/ # Systemd-Service-Units
│ └── services/ # Custom Service-Definitionen
├── ansible/ # Ansible-Playbooks (optional)
│ ├── playbooks/ # Ansible-Playbooks
│ ├── roles/ # Ansible-Rollen
│ └── inventory/ # Inventory-Dateien
└── .gitignore # Git-Ignore-Regeln
🚀 Erste Schritte
1. Repository klonen
git clone https://git.gitcover.de/KMU/server-infra.git
cd server-infra
2. Dokumentation lesen
Beginnen Sie mit der Dokumentation im docs/
Verzeichnis:
- architecture.md: System-Übersicht und Komponenten
- installation.md: Schritt-für-Schritt Installationsanleitung
- maintenance.md: Wartungs- und Update-Prozeduren
3. Skripte verwenden
Alle Automatisierungs-Skripte befinden sich im scripts/
Verzeichnis und sind nach Kategorien organisiert.
🔧 Server-Spezifikationen
- Betriebssystem: Ubuntu Server LTS (neueste Version)
- Git-Server: Gitea
- Webserver: Nginx
- Datenbank: PostgreSQL
- Backup-Strategie: Automatisierte tägliche Backups
⚠️ Sicherheitshinweise
WICHTIG: Dieses Repository enthält KEINE sensiblen Daten wie:
- Private SSH-Schlüssel
- Passwörter oder API-Keys
- Private SSL-Zertifikate
- Datenbank-Credentials
Sensible Daten werden über Umgebungsvariablen oder externe Secret-Management-Systeme verwaltet.
📚 Dokumentations-Index
Dokument | Beschreibung |
---|---|
Architecture | System-Architektur und Komponenten-Übersicht |
Network Layout | Netzwerk-Konfiguration und Firewall-Regeln |
Installation Guide | Komplette Installationsanleitung |
Maintenance Manual | Wartung, Updates und Troubleshooting |
🔄 Workflow und Versionierung
Branch-Strategie
- main: Produktive Konfiguration (nur getestete Änderungen)
- development: Entwicklungs- und Test-Konfigurationen
- feature/[name]: Feature-Branches für größere Änderungen
Commit-Konventionen
[Typ]: Kurze Beschreibung
Typen:
- feat: Neue Funktionalität oder Konfiguration
- fix: Fehlerbehebung
- docs: Dokumentations-Änderungen
- config: Konfigurationsanpassungen
- script: Skript-Änderungen oder -Ergänzungen
🤝 Beitragen
- Branch erstellen:
git checkout -b feature/neue-funktion
- Änderungen committen:
git commit -m "feat: Neue Konfiguration hinzugefügt"
- Push:
git push origin feature/neue-funktion
- Pull Request erstellen über die Gitea-Weboberfläche
📞 Kontakt und Support
- Repository: https://git.gitcover.de/KMU/server-infra
- Organisation: KMU
- Maintainer: [Ihr Name]
📄 Lizenz
Dieses Repository enthält interne Infrastruktur-Konfigurationen der KMU-Organisation. Nicht für externe Verwendung bestimmt.
Letzte Aktualisierung: $(date +"%Y-%m-%d") Version: 0.1.0