In diesem Artikel zeige ich dir, wie du einen Mumble-Server mit Docker betreibst und dabei automatisch ein Let’s Encrypt-Zertifikat für eine sichere Verbindung einrichtest. Wir verwenden dafür Docker Compose, Certbot und Umgebungsvariablen, um die Konfiguration flexibel und einfach zu gestalten.
Was macht diese Konfiguration?
Certbot:
- Certbot ist ein Tool, das Zertifikate von Let’s Encrypt erstellt und erneuert. Es wird im Standalone-Modus ausgeführt, um ein SSL/TLS-Zertifikat für deinen Mumble-Server zu generieren.
- Das Zertifikat wird in einem lokalen Verzeichnis gespeichert und vom Mumble-Server verwendet, um verschlüsselte Verbindungen zu ermöglichen.
Mumble-Server:
- Der Mumble-Server wird in einem Docker-Container ausgeführt und konfiguriert, um das von Certbot generierte Zertifikat für sichere Verbindungen zu nutzen.
- Er wartet darauf, dass Certbot das Zertifikat erstellt, bevor er startet.
Umgebungsvariablen:
- Die Konfiguration verwendet Umgebungsvariablen für die E-Mail-Adresse und die Domain. Dadurch kannst du die Einstellungen leicht ändern, ohne die Docker-Compose-Datei direkt bearbeiten zu müssen.
Voraussetzungen
Docker und Docker Compose:
- Stelle sicher, dass Docker und Docker Compose auf deinem Server installiert sind. Du kannst dies mit den folgenden Befehlen überprüfen:
1 2
docker --version docker-compose --version
- Stelle sicher, dass Docker und Docker Compose auf deinem Server installiert sind. Du kannst dies mit den folgenden Befehlen überprüfen:
Domain:
- Du benötigst eine Domain, die auf die IP-Adresse deines Servers zeigt. In diesem Beispiel verwenden wir die Domain
domain.server.de
.
- Du benötigst eine Domain, die auf die IP-Adresse deines Servers zeigt. In diesem Beispiel verwenden wir die Domain
Ports:
- Stelle sicher, dass die Ports 80 (HTTP) und 64738 (Mumble) auf deinem Server geöffnet sind.
Schritt-für-Schritt-Anleitung
1. Projektverzeichnis erstellen
Erstelle ein neues Verzeichnis für dein Projekt und wechsle in dieses Verzeichnis:
|
|
2. Docker-Compose-Datei erstellen
Erstelle eine Datei namens docker-compose.yml
und füge die folgende Konfiguration ein:
|
|
3. Umgebungsvariablen definieren
Erstelle eine Datei namens .env
im gleichen Verzeichnis und füge die folgenden Variablen hinzu:
|
|
Diese Datei wird von Docker Compose automatisch geladen und ersetzt die Variablen in der docker-compose.yml
.
4. Verzeichnisstruktur vorbereiten
Erstelle die benötigten Verzeichnisse für die Zertifikate und Daten:
|
|
5. Dienste starten
Starte die Dienste mit Docker Compose:
|
|
- Der Certbot-Container wird gestartet und erstellt ein Zertifikat für die angegebene Domain.
- Der Mumble-Server-Container wartet, bis das Zertifikat verfügbar ist, und startet dann mit der Konfiguration für verschlüsselte Verbindungen.
6. Überprüfen, ob alles funktioniert
- Öffne deinen Mumble-Client und verbinde dich mit
mumble://domain.server.de
. - Dein Mumble-Server sollte jetzt mit einem gültigen SSL-Zertifikat laufen.
Automatische Zertifikatserneuerung
Let’s Encrypt-Zertifikate sind nur 90 Tage gültig. Um die Zertifikate zu erneuern, kannst du den Container manuell starten, um die Zertifikate zu erneuern:
|
|