Anleitungen /

Installationsanleitung

/

Docker-Image

Docker-Image

Mit dieser Anleitung laden Sie eine Compose-Datei herunter, die alles enthält, was Sie benötigen, um Ihr eigenes Piwigo mit Docker bereitzustellen.


Dieser Leitfaden geht davon aus, dass Sie sich über SSH mit Ihrem Server verbinden können und Docker bereits installiert haben. Ist dies nicht der Fall, folgen Sie bitte der offiziellen Docker-Dokumentation hier.

Schritt 1 – Installation des Containers

Verbinden Sie sich mit Ihrem Server und erstellen Sie einen Ordner mit dem Namen Piwigo :

  • Laden Sie die Datei compose.yaml von Piwigo/piwigo-docker herunter.

  • Sie können curl verwenden, um es herunterzuladen, ohne das Terminal zu verlassen.

    curl -O "https://raw.githubusercontent.com/Piwigo/piwigo-docker/refs/heads/main/compose.yaml"

  • Erstellen Sie eine Datei mit dem Namen .env, die Folgendes enthalten muss, wobei nach dem Gleichheitszeichen ohne Anführungszeichen ein sicheres Passwort eingegeben werden muss.

  • piwigo_port=8080
    db_user_password=
    timezone=

    Mit dem folgenden Befehl können Sie mit „truncate“ ein gültiges Passwort generieren:

    printf $(tr -dc '[:alnum:]' </dev/urandom | head -c64)"\n"

    Sie können den freigegebenen Port ändern, indem Sie piwigo_port bearbeiten.

Starten Sie Ihren Container mit docker compose up -d

Schritt 2 – Konfigurieren Sie den Reverse-Proxy.

Sie sollten einen externen Reverse-Proxy mit Piwigo Docker verwenden. Sie können die folgenden NGINX-Konfigurationsbeispiele verwenden:

Piwigo unterstützt das Hosting auf einer Domain, Subdomain und/oder einem Subpfad. Unabhängig davon, wofür Sie sich entscheiden, wird empfohlen, die Piwigo-Versionsnummer nicht in der URL zu verwenden.

server {
	listen 80;
	server_name my_domain.tld;
	location / {
		proxy_pass http://127.0.0.1:8080/;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
	}
}

Wenn Sie piwigo in einem Unterpfad hosten möchten (z. B.: my_domain.tld/gallery), müssen Sie diesen an den Container weiterleiten, indem Sie proxy_set_header X-Forwarded-Prefix /my_subpath hinzufügen.

server {
	listen 80;
	server_name my_domain.tld;
	location /gallery/ {
		proxy_pass http://127.0.0.1:8080/;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_set_header X-Forwarded-Prefix /gallery;
    }
}

Schritt 3 - Konfiguration

Sobald der Container gestartet und Ihr Reverse-Proxy konfiguriert ist, öffnen Sie einen Webbrowser und geben Sie die Webadresse ein, unter der Sie Piwigo hosten. Piwigo erkennt, dass noch nichts installiert ist, und leitet Sie zur Installationsseite weiter.

Wenn Sie piwigo_port in .env geändert haben, müssen Sie auch den Abschnitt proxy_pass entsprechend anpassen. Beachten Sie, dass Docker alle Ihre Firewall-Regeln standardmäßig ignoriert.

Geben Sie die MySQL-Datenbankverbindungseinstellungen wie folgt ein :

  • Host : piwigo-db:3306
  • Benutzer : piwigodb_user
  • Passwort : Verwenden Sie das Passwort, das Sie in der .env-Datei geschrieben haben.
  • Name der Datenbank : piwigodb
  • A prefix Vorwahl Tabellen : piwigo_

Für die Erstellung des Webmaster-Zuganges wird folgendes benötigt::

  • ein selbstgewählter Benutzername
  • ein Passwort, welches zweimal zur verifizierung eingegeben werden muss
  • Ihre Email-Adresse, damit Benutzer sie kontaktieren können

Klicken sie nun „Start der Installation“ um zu beginnen.

Installationsseite

Sie werden informiert ob die Installation korrekt durchgeführt wurde oder ob Fehler aufgetreten sind.

Korrekte Installation

Schritt 4 - Erste Verbindung

Wenn die Installation abgeschlossen ist, können sie ihre Galerie aufrufen. Wenn sie sich mit ihrem Webmaster-Account anmelden, können sie auf die Administrationsseiten zugreifen.

Piwigo ist installiert

Sind noch Fragen offen?

Sie können Hilfe und Antworten im Forum erhalten.