Cómo instalar Piwigo en Docker - Galería de fotos autohospedada
Piwigo en Docker: galería de fotos autohospedada con MariaDB, temas y plugins
Piwigo es una galería de fotos para tu servidor. Subes tus imágenes, las organizas en álbumes, controlas quién las ve y decides si tus fotos son públicas o privadas. Lo desplegamos con Docker Compose junto a una base de datos MariaDB, con los datos en carpetas del host.
Vídeo tutorial en YouTube
Mira el vídeo completo sobre cómo instalar y usar Piwigo en Docker en el canal GENBYTE:
¿Qué es Piwigo?
Piwigo es una galería de fotos autohospedada con licencia GPL-2.0. Tiene un sistema de temas, plugins y permisos por usuario y por álbum, así que puedes tener fotos privadas para la familia y otras públicas. Su documentación oficial lo presenta como una aplicación que se instala en tu propio servidor, sin depender de ningún servicio externo.
./piwigo-data de tu servidor, para que sean fáciles de copiar.
Características principales
Álbumes y permisos
Organiza las fotos en álbumes y decide qué usuarios o grupos pueden verlos.
Temas y plugins
Cambia la apariencia con temas y amplía la funcionalidad con plugins desde el panel de administración.
Datos en carpetas
Los ficheros, la base de datos y los scripts viven en ./piwigo-data, sin volúmenes Docker.
Scripts propios
Puedes instalar paquetes de Alpine o ejecutar comandos antes de arrancar nginx y PHP con el script user.sh.
Actualizaciones sencillas
Al actualizar la imagen, los ficheros nuevos de Piwigo se copian sobre los existentes.
Sin base de datos incluida
Si ya tienes un MySQL o MariaDB, existe un compose alternativo que no crea la base de datos.
Requisitos del sistema
- Docker y Docker Compose
- Un puerto libre en el host, que se configura en
piwigo_port - Un servidor o un NAS con acceso SSH, según la guía oficial de instalación
- Opcional: un proxy inverso para usar un dominio o un subdominio con HTTPS
Instalación con Docker Compose
Paso 1: descarga el compose oficial
Paso 2: completa el fichero .env
8080, el puerto queda abierto a toda tu red o a Internet si reenvías el router. Para limitarlo, usa piwigo_port=127.0.0.1:8080 y publica la galería a través de un proxy.
id -u e id -g y ponlos en PIWIGO_UID y PIWIGO_GID. Así tu usuario podrá gestionar las fotos desde el host sin problemas de permisos.
Paso 3: arranca el contenedor
Paso 4: completa la instalación
Abre http://IP_DEL_SERVIDOR:8080. Piwigo detecta que no hay nada instalado y te lleva a la página de instalación. Los datos de la base de datos son:
Pulsa "Start Install" y crea después tu cuenta de administrador.
Acceder a Piwigo
Desde el propio servidor: http://localhost:8080
Desde otro dispositivo de tu red: http://IP_DEL_SERVIDOR:8080
Primeros pasos
- Completa la instalación y crea tu cuenta de administrador.
- Sube un álbum de prueba y comprueba que las miniaturas se generan.
- Crea usuarios o grupos y asigna los álbumes privados.
- Haz una copia de seguridad de
./piwigo-dataantes de cualquier actualización.
Casos de uso
- Fotos familiares: álbumes privados para cada persona y uno compartido.
- Portfolio: una galería pública con tema propio, en tu dominio.
- Archivo de viajes: organiza miles de fotos en álbumes por fecha o lugar.
Configuración avanzada
Usar MySQL en lugar de MariaDB
Edita compose.yaml y sustituye el servicio de MariaDB por MySQL. El README avisa de que el nombre de la imagen distingue mayúsculas y minúsculas.
Usar una base de datos que ya tienes
Usa el fichero compose-nodb.yaml como compose.yaml, y quita db_user_password de .env.
Subpath o dominio con proxy inverso
Si publicas Piwigo en una ruta como tudominio.com/galeria, el proxy debe enviar la cabecera X-Forwarded-Prefix con esa ruta. La guía oficial incluye ejemplos de configuración de nginx.
Instalar paquetes extra con user.sh
user.sh se ejecuta como root antes de arrancar nginx y PHP. Solo añade comandos que entiendas, y ten en cuenta que no hay bash, sino ash.
Gestión y mantenimiento
Ver estado
Ver logs
Copia de seguridad
Actualizar
latest es la que usa el compose oficial. Si prefieres fijar una versión, cambia la etiqueta de piwigo/piwigo en compose.yaml por la que quieras.
Detener Piwigo
Stack técnico
- Contenedor de la aplicación: Alpine con nginx y PHP-FPM, que comparten usuario
- Base de datos: MariaDB LTS (
docker.io/library/mariadb:lts) - Red: bridge interna
piwigo-networkentre los dos contenedores - Imagen:
piwigo/piwigo:latesten Docker Hub - Licencia: GNU GPL v2
Comentarios
Publicar un comentario
Comenta...