En suivant ce guide, vous allez télécharger un fichier compose qui contient tout ce dont vous aurez besoin pour déployer votre propre Piwigo avec Docker.
Ce guide part du principe que vous pouvez vous connecter à votre serveur avec SSH et que vous avez déjà installé Docker. Si ce n'est pas le cas, installez Docker en suivant la documentation officielle.
Connectez vous à votre serveur et créez un dossier Piwigo :
Téléchargez le fichier compose.yaml du répertoire Piwigo/piwigo-docker
Vous pouvez utiliser la commande curl suivante pour le faire depuis votre terminal :
curl -O "https://raw.githubusercontent.com/Piwigo/piwigo-docker/refs/heads/main/compose.yaml"
Créez un fichier texte appelé .env, avec les champs ci-dessous, ajoutez un mot de passe fort et votre timezone après le signe égal (sans guillemets).
piwigo_port=8080
db_user_password=
timezone=
PIWIGO_UID=
PIWIGO_GID=
Vous pouvez utiliser truncate pour créer un mot de passe valide :
printf $(tr -dc '[:alnum:]' </dev/urandom | head -c64)"\n"
Vous pouvez changer le port en modifiant le champ piwigo_port
Définissez l'UID et le GID de l'utilisateur et du groupe auxquels vous souhaitez donner accès au dossier piwigo dans les champs PIWIGO_UID et PIWIGO_GID
Démarrez le conteneur avec la commande suivante : docker compose up -d
Piwigo Docker nécessite un reverse-proxy; vous pouvez utiliser les exemples de configuration NGINX suivants:
Vous pouvez héberger Piwigo à la racine de votre site web, sur un sous-domaine et/ou un sous-répertoire. Peu importe votre choix, il est recommandé de ne pas utiliser les numéros de version de Piwigo dans votre URL.
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;
}
}
Si vous voulez héberger votre Piwigo dans un sous-chemin (ex: mon_domaine.fr/galerie) vous aurez besoin de passer le sous-chemin au conteneur en ajoutant proxy_set_header X-Forwarded-Prefix /my_subpath
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;
}
}
Une fois votre conteneur démarré et votre reverse-proxy configuré, ouvrez un navigateur web et allez sur l'URL de votre Piwigo. Piwigo détectera automatiquement qu'il n'est pas encore configuré et vous redirigera vers la page d'installation.
Si vous avez modifié le port dans le fichier .env, vous aurez également besoin d'adapter le paramètre proxy_pass pour accéder à votre Piwigo. Gardez en tête que Docker ignore vos règles pare-feu.
Remplissez la section des paramètres de connexion a la base de données MySQL avec les informations suivantes :
piwigo-db:3306piwigodb_user.env
piwigodbpiwigo_
Pour la création du compte administrateur de la galerie, sont à renseigner ::
Cliquez sur “démarrez l'installation”.
Page d'installation
Si tout se déroule correctement ou s'il y a un problème, vous serez informé
L'installation s'est correctement déroulée
Une fois l'installation terminée, vous pouvez vous rendre sur la galerie. Identifiez-vous pour accéder à la partie administration.
La galerie est installée
Vous pouvez obtenir de l'aide sur le forum ou trouver vos propres réponses dans la documentation