2025-08-03 12:50:36 +02:00
2025-08-03 12:50:36 +02:00

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

  1. Branch erstellen: git checkout -b feature/neue-funktion
  2. Änderungen committen: git commit -m "feat: Neue Konfiguration hinzugefügt"
  3. Push: git push origin feature/neue-funktion
  4. Pull Request erstellen über die Gitea-Weboberfläche

📞 Kontakt und Support

📄 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

Description
Verwaltung für On-Premise Ubuntu Server LTS (neueste Version)
https://git.gitcover.de
Readme 33 KiB