Home

Awesome

About Pellicola

Pellicola is an easy-to-use PHP web app for instant photo publishing.

<img src="pellicola.jpg" alt="Pellicola">

The Pellicola manual provides detailed information on installing and using Pellicola. Get your copy at Gumroad.

<img src="https://cameracode.coffee/uploads/pellicola-manual.png" title="Pellicola" width="300"/>

Features

Requirements

Installation and usage

  1. On Debian, Ubuntu, and Raspberry Pi, install Pellicola by running the following command as root: curl -sSL https://raw.githubusercontent.com/dmpop/pellicola/main/install.sh | bash. On other distributions, install the required packages and clone the project's Git repository using the command git clone https://github.com/dmpop/pellicola.git as root. Alternatively, you can download the ZIP archive and extract it into the document root of the server.
  2. Open the config.php file in a text editor and edit settings.
  3. Put photos into the photos directory (.jpg, .jpeg, .JPG, and .JPEG as well as RAW files).
  4. Make the pellicola directory writable by the server by running chown www-data -R pellicola as root.
  5. Point the browser to http://127.0.0.1/pellicola/ (replace 127.0.0.1 with the actual IP address or domain name of your server).

You can add descriptions to photos by creating accompanying .txt files. For example, to add a description to the F994362-R1-14-15.jpg photo, create the F994362-R1-14-15.txt file containing a short text. You can use HTML markup for formatting the text. To add description files in other languages, use the appropriate language prefix as follows: de-F994362-R1-14-15.txt (for German), ja-F994362-R1-14-15.txt (for Japanese), etc.

Run Pellicola in a container

Perform the following steps on the machine you want to use as a Pellicola server.

  1. Install Docker.
  2. Run the hostname -I command and note the IP address of the machine.
  3. Create a directory for storing photos.
  4. Clone the Pellicola Git repository using the git clone https://github.com/dmpop/pellicola.git command.
  5. Switch to the resulting pellicola directory, open the config.php file for editing and replace the default value of the base_url to the IP address of the machine.
  6. Become root using either su or sudo su command.
  7. Build an image using the docker build -t pellicola . command.
  8. Run a container: docker run -d --rm -p 80:8000 --name=pellicola -v /path/to/photos:/usr/src/pellicola/photos:rw pellicola (replace /path/to/photos with the actual path to the created directory).
  9. Point the browser to http://127.0.0.1 (replace 127.0.0.1 with the actual IP address or domain name of the machine running the container).

Deploy Pellicola with docker-compose.yml

Using the supplied docker-compose.yml file, you can deploy Pellicola on a machine with a domain name assigned to it. This approach automatically enables HTTPS.

  1. Open the Caddyfile for editing.
  2. Replace <email address> with the email address you want to use with the Let's Encrypt service.
  3. Replace <domain name> with the domain name assigned to the server.
  4. Save the changes.
  5. Run the docker compose -dcommand.

Author

Dmitri Popov (dmpop@cameracode.coffee)

Acknowledgments

License

Pellicola is released under the GNU General Public License version 3 license.