Caddy mit minimalem Setup
Caddy ist ein leistungsstarker und flexibler Webserver, der zur Absicherung Ihres Remnawave-Panels verwendet werden kann.
Installation
Erstellen Sie zunächst ein Verzeichnis für Caddy.
mkdir -p /opt/remnawave/caddy && cd /opt/remnawave/caddy
Und erstellen Sie eine docker-compose.yml-Datei.
touch docker-compose.yml && nano docker-compose.yml
Und fügen Sie folgenden Inhalt zur Datei hinzu:
services:
remnawave-caddy:
image: remnawave/caddy-with-auth:latest
container_name: 'remnawave-caddy'
hostname: remnawave-caddy
restart: always
environment:
- AUTH_TOKEN_LIFETIME=3600
- REMNAWAVE_PANEL_DOMAIN=PANEL_DOMAIN
- AUTHP_ADMIN_USER=LOGIN_USERNAME
- AUTHP_ADMIN_EMAIL=LOGIN_EMAIL
- AUTHP_ADMIN_SECRET=LOGIN_PASSWORD
ports:
- '0.0.0.0:443:443'
networks:
- remnawave-network
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- remnawave-caddy-ssl-data:/data
networks:
remnawave-network:
name: remnawave-network
driver: bridge
external: true
volumes:
remnawave-caddy-ssl-data:
driver: local
external: false
name: remnawave-caddy-ssl-data
.env-Variablen konfigurieren
Sie müssen einen Domainnamen für Ihr Remnawave-Panel festlegen. Caddy stellt automatisch ein Zertifikat für diese Domain aus.
REMNAWAVE_PANEL_DOMAIN=panel.domain.com
Admin-Anmeldedaten. Stellen Sie sicher, dass Sie ein starkes Passwort verwenden.
AUTHP_ADMIN_USER=admin
AUTHP_ADMIN_EMAIL=[email protected]
AUTHP_ADMIN_SECRET=strong_password
Token-Lebensdauer.
AUTH_TOKEN_LIFETIME=3600
Caddyfile
Tauchen wir tiefer in das Caddyfile ein.
Zunächst müssen Sie eines unserer vordefinierten Setups auswählen.
Vollständiges Sicherheits-Setup mit MFA
- Alle Routen sind durch Authentifizierung geschützt. (Frontend, Backend)
- Alle API-Endpunkte sind geschützt, einschließlich /api/sub/*-Endpunkte.
- Login erfordert MFA mit OTP-Codes.
- Spezielle API-Schlüssel können für /api/*-Endpunkte ausgestellt werden.
- Vollständiger Domain-Schutz.
Führen Sie den folgenden Befehl aus, um das Caddyfile herunterzuladen.
curl -o Caddyfile https://raw.githubusercontent.com/remnawave/caddy-with-auth/refs/heads/main/examples/minimal-security-setup-with-mfa/Caddyfile
API-Routen ohne Authentifizierung (api/*)
- Routen sind durch Authentifizierung geschützt. (Frontend)
- Login erfordert MFA mit OTP-Codes. (Frontend)
- Alle API-Endpunkte sind nicht geschützt! (/api/* ist öffentlich)
Dieses Setup legt die /api/*-Endpunkte dem öffentlichen Internet offen.
Alle Endpunkte erfordern keine Authentifizierung, verwenden aber weiterhin die Remnawave-Sicherheitsfunktionen.
Wir empfehlen, das vollständige Sicherheits-Setup mit MFA für Produktionsumgebungen zu verwenden, in denen Sie API-Schlüssel ausstellen werden.
Führen Sie den folgenden Befehl aus, um das Caddyfile herunterzuladen.
curl -o Caddyfile https://raw.githubusercontent.com/remnawave/caddy-with-auth/refs/heads/main/examples/minimal-security-setup-with-mfa-with-api-without-auth/Caddyfile
/api/sub/*-Endpunkte ohne Authentifizierung
- Routen sind durch Authentifizierung geschützt. (Frontend)
- Login erfordert MFA mit OTP-Codes. (Frontend)
- Nur
/api/sub/*-Endpunkte sind öffentlich, andere Endpunkte sind geschützt.
Dieses Setup legt die /api/sub/*-Endpunkte dem öffentlichen Internet offen.
Wir empfehlen, das vollständige Sicherheits-Setup mit MFA für Produktionsumgebungen zu verwenden, in denen Sie API-Schlüssel ausstellen und @remnawave/subscription-page für öffentliche Abonnementseiten verwenden werden.
Führen Sie den folgenden Befehl aus, um das Caddyfile herunterzuladen.
curl -o Caddyfile https://raw.githubusercontent.com/remnawave/caddy-with-auth/refs/heads/main/examples/minimal-security-setup-with-mfa-with-api-without-auth/Caddyfile
Container starten
Nachdem Sie eines der obigen Setups ausgewählt haben, können Sie den Container mit folgendem Befehl starten.
docker compose up -d && docker compose logs -f
Auf das Panel zugreifen
Nachdem der Container läuft, können Sie das Panel unter https://panel.domain.com aufrufen.
Danach werden Sie zur Login-Seite von Caddy Auth weitergeleitet.
Beim ersten Start werden Sie aufgefordert, eine MFA-Methode zu erstellen.
Wir empfehlen dafür die Verwendung von Google Authenticator.
MFA deaktivieren
Wenn Sie MFA vollständig deaktivieren möchten, können Sie dies durch Bearbeiten des Caddyfile tun.
Öffnen Sie das Caddyfile und ändern Sie die folgende Zeile:
cd /opt/remnawave/caddy && nano Caddyfile
Suchen Sie die folgenden Zeilen und entfernen Sie die Zeile require mfa.
transform user {
match origin local
action add role authp/admin
require mfa
}
Danach können Sie den Container mit folgendem Befehl neu starten.
docker compose down && docker compose up -d && docker compose logs -f
Auf die Auth-Portal-Seite zugreifen
Sie können die Auth-Portal-Seite unter https://<your-domain>/r aufrufen.

Hier können Sie schnell zum Remnawave-Dashboard wechseln oder einige Auth-Portal-Einstellungen verwalten.
Im MFA-Bereich können Sie MFA-Geräte löschen oder neue hinzufügen.
API-Schlüssel ausstellen
Sie können die Auth-Portal-Seite unter https://<your-domain>/r aufrufen.
Auf der Auth-Portal-Seite können Sie API-Schlüssel ausstellen. Klicken Sie auf den Tab API-keys.
Nachdem Sie einen API-Schlüssel ausgestellt haben, können Sie ihn im X-Api-Key-Header Ihrer API-Anfragen verwenden.
Beispiel: X-Api-Key: YxOovHLnpkcmSig5082egcHnyTk8SK4dNGAFHgZ2LKZezgj5oUj2FA2IR2sMwbALnP9YNpzZ
