Docker
Germando bietet vorgefertigte Deutsche Docker-Images über GitHub Packages an. ghcr.io/flimanda/germando-panel:latest ist die aktuelle neueste Version, und ghcr.io/flimanda/germando-panel:main wird automatisch aus dem aktuellen main-Branch erstellt. Die Bereitstellung des Panels in Docker ist noch in Arbeit. Obwohl der Plan ist, Docker zur bevorzugten Installationsmethode zu machen, empfehlen wir derzeit die Standard-Bereitstellungsanweisungen.
Diese Anleitung erfordert Docker CE. (Docker Compose ist seit v2 in der Docker CLI enthalten. Docker Compose v1 wird nicht unterstützt.) Anweisungen zur Installation und Konfiguration von Docker finden Sie im Installationshandbuch.
Grundlagen
Die einfachste Bereitstellungsmethode ist die Verwendung der Standard-compose.yml-Datei.
Diese Konfiguration enthält einen integrierten Webserver, der automatisch SSL-Zertifikate erhält, wenn Sie über HTTPS bereitstellen. Für die Datenbank wird angenommen, dass Sie SQLite verwenden möchten (oder einen externen Datenbankserver haben, den Sie über den Installer konfigurieren können). Es wird auch angenommen, dass Sie den Filesystem-Treiber für Cache, Filesystem oder Datenbanktreiber für Session und Datenbanktreiber für Queue verwenden möchten (oder einen externen Redis-Server haben, den Sie über den Installer konfigurieren können). Wenn Sie andere in Docker integrierte Optionen verwenden möchten, siehe Erweiterte Optionen.
compose.yml erstellen
compose.yml
services:
panel:
image: ghcr.io/flimanda/germando-panel:latest
restart: always
networks:
- default
ports:
- "80:80"
- "443:443"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- pelican-data:/pelican-data
- pelican-logs:/var/www/html/storage/logs
environment:
XDG_DATA_HOME: /pelican-data
APP_URL: "http://localhost"
ADMIN_EMAIL: "USEYOUROWNEMAILHERE@example.com"
volumes:
pelican-data:
pelican-logs:
networks:
default:
ipam:
config:
- subnet: 172.20.0.0/16
Erforderliche Umgebungsvariablen setzen
Setzen Sie APP_URL auf die Basis-URL, unter der Ihr Panel erreichbar sein wird, einschließlich des Protokolls (https:// oder http://) und des Ports.
Beachten Sie, dass Caddy, der integrierte Webserver, eine 308-Weiterleitung für alle Anfragen auf Port 80 bereitstellt, wenn APP_URL mit https:// beginnt. Wenn Ihre endgültige Website über HTTPS erreichbar sein wird, aber TLS (SSL) von einem Upstream-Server wie einem Reverse-Proxy verarbeitet und beendet wird, müssen Sie eine benutzerdefinierte Caddyfile verwenden.
Setzen Sie ADMIN_EMAIL auf Ihre E-Mail-Adresse. Caddy wird diese E-Mail-Adresse verwenden, um ein LetsEncrypt SSL-Zertifikat zu generieren, wenn Sie über HTTPS bereitstellen.
Schließen und speichern Sie nun die Änderungen an compose.yml.
Starten
Führen Sie im Verzeichnis, in dem sich die Compose-Datei befindet, folgenden Befehl aus:
docker compose up -d
Verschlüsselungsschlüssel sichern
Beim ersten Start des Containers wird ein APP_KEY generiert, der als Verschlüsselungsschlüssel verwendet wird. Dieser wird automatisch gespeichert, aber Sie sollten eine Kopie an einem sicheren Ort aufbewahren, falls Sie ihn später benötigen.
docker compose logs panel | grep 'Generated app key:'
Installation
Öffnen Sie den Installer in Ihrem Browser unter APP_URL/installer, um die Einrichtung des Panels abzuschließen.
Sinnvolle Treiber-Standardwerte:
- Cache-Treiber:
Filesystem - Datenbanktreiber:
SQLite - Queue-Treiber:
Database - Session-Treiber:
Filesystem
Für andere Konfigurationen wie UI-Optionen, CAPTCHA, E-Mail, Backups und OAuth gehen Sie zum Einstellungsmenü im Admin-Panel.
Stoppen
Das Panel wird automatisch neu gestartet, wenn der Container abstürzt oder der Host neu startet. Wenn Sie das Panel aus irgendeinem Grund nicht-destruktiv stoppen müssen, navigieren Sie zurück zum Verzeichnis mit compose.yml und führen Sie aus:
docker compose down
Deinstallation
Um das Panel zu deinstallieren, navigieren Sie zum Verzeichnis mit compose.yml und führen Sie aus:
docker compose down -v
Erweiterte Optionen
Benutzerdefinierte Caddyfile
Die Standard-Caddyfile funktioniert für Standardinstallationen. Wenn Sie die Konfiguration des integrierten Webservers bearbeiten müssen, z.B. um ihn hinter einem Reverse-Proxy zu platzieren, der TLS beendet, können Sie dies tun, indem Sie eine Caddyfile auf dem Host an /etc/caddy/Caddyfile im Container binden.
Dieses Beispiel geht davon aus, dass sich eine Caddyfile im gleichen Verzeichnis wie die compose.yml-Datei befindet.
compose.yml
services:
panel:
image: ghcr.io/flimanda/germando-panel:latest
restart: always
networks:
- default
ports:
- "80:80"
- "443:443"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- pelican-data:/pelican-data
- pelican-logs:/var/www/html/storage/logs
- ./Caddyfile:/etc/caddy/Caddyfile
environment:
XDG_DATA_HOME: /pelican-data
APP_URL: "http://localhost"
ADMIN_EMAIL: "USEYOUROWNEMAILHERE@example.com"
volumes:
pelican-data:
pelican-logs:
networks:
default:
ipam:
config:
- subnet: 172.20.0.0/16
Ein Beispiel für eine Caddyfile zum Hosten des Panels hinter einem Reverse-Proxy ist unten dargestellt. Es macht das Panel auf Port 80 unabhängig vom Host-Header verfügbar und versucht nicht, ein TLS-Zertifikat zu erhalten. [UPSTREAM IP] muss durch die IP-Adresse des Reverse-Proxys ersetzt werden.
Caddyfile
{
admin off
servers {
trusted_proxies static [UPSTREAM IP]
}
}
:80 {
root * /var/www/html/public
encode gzip
php_fastcgi 127.0.0.1:9000
file_server
}
127.0.0.1 überein, sondern mit einer Docker-Bridge-Schnittstelle oder docker0.
Datei-Upload-Limits erhöhen
Das Standard-Datei-Upload-Limit beträgt 2MB. Um dieses Limit zu erhöhen, modifizieren Sie die Caddyfile wie folgt:
Caddyfile
<domain> {
...
encode gzip
php_fastcgi 127.0.0.1:9000 {
env PHP_VALUE "upload_max_filesize = 256M
post_max_size = 256M"
}
file_server
}