Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Piwigo docker

An alpine based container to easily deploy piwigo !

Usage

You can follow the install guide and the update guide to get your container setup and up to date.

Sample .env file :

piwigo_port=8080
db_user_password=<DatabasePassword>
timezone=<Timezone>
PIWIGO_UID=1000
PIWIGO_GID=1000

Users comming from LinuxServer can follow this guide : https://github.com/Piwigo/piwigo-docker/wiki/Migration-Guide-from-the-LinuxServer

⚠️ Don't forget that docker will bypass any firewall rules ⚠️

You can allow only localhost or a specific ip by prepending it to piwigo_port (eg: piwigo_port=127.0.0.1:8080)

Advanced options

If you prefer using a mysql container instead of mariadb edit compose.yaml and replace mariadb by mysql (be aware it is case sensitive).

If you want to use an existing MySQL/MariaDB database you already setup, use compose-nodb.yaml and rename it compose.yaml. You can either create .env without piwigo_port=.

Create a script at ./piwigo-data/scripts/user.sh to run commands before nginx and php start.
eg: to install extra dependencies like pandoc apk add --no-cache pandoc, available packages are listed at alpine pkg index.
Note that the script is run as root.

Container Architeture

Two containers :

  • Alpine with nginx and php-fpm
  • MariaDB

PHP modules are installed with alpine natives packages, php-fpm is running with the same user as nginx.

Container network trafic is internal in the piwigo-network bridge.

All persistent data is stored in ./piwigo-data/ :

  • piwigo piwigo files, when a new version is released, new files will be copied over
  • mysql database files from the mariaDB/mysql
  • scripts allow user to sideload dependencies and other files outside of piwigo

About

Alpine-based Docker image to deploy Piwigo quickly and reliably.

Resources

Stars

Watchers

Forks

Packages

Contributors

Languages