Mejiro — Self-Hosted, Open-Source
Easy-to-use instant photo publishing.
License: GPL-3.0. Built with: PHP, CSS, Shell, Dockerfile. Source: https://github.com/dmpop/pellicola.
Features
- Simplicity Pellicola requires no installation, and it can be deployed on any web server with PHP.
- Instant and easy photo publishing Upload photos, and Pellicola does the rest.
- Responsive design Pellicola works well on mobile devices.
- Pagination Pellicola automatically splits photo collection into pages. You can specify the desired number of photos per page.
- Search Basic search functionality makes it possible to find photos by their file names and descriptions.
- Basic EXIF data The app extracts and displays basic EXIF info for each photo, including aperture, focal length, shutter speed, and ISO.
- Show map If the $SHOW_MAP option is enabled, Pellicola displays an embedded map marking the position of the currently viewed geotagged photo. This also enables a dedicated map that shows all photos in the current album.
- OpenStreetMap links or Geo URIs For geotagged photos, Pellicola displays either OpenStreetMap links or geo URIs that show the exact locations where the photos were taken either in OpenStreetMap or in the default map application.
- Optional album description If a _preamble.html_ file exists in the album's folder, Pellicola displays its contents as the album's description.
- Optional photo description You can add a description to each photo by creating an accompanying _.txt_ file. The app can also read and display descriptions from the photo's _UserComment_ EXIF field.
Installation
php -r 'echo password_hash("secret", PASSWORD_DEFAULT);'
Why self-host Mejiro
Self-hosting gives you three things SaaS can’t: data ownership (the files live on disks you control), cost predictability (a one-time setup vs. recurring per-seat fees that grow with your household or team), and longevity (open-source means the app keeps working even if the maintainers move on, since you can pin a working version). The trade-off is that you take on the operational work of running a server, applying updates, and handling backups.
What hardware do you need
Most self-hosted apps run comfortably on modest hardware — a Raspberry Pi 4, a mini PC, a NAS with Docker support, or a small VPS is usually enough for personal or family use. CPU and RAM requirements scale with how many simultaneous users or how much data you push through Mejiro. Storage requirements depend on the kind of data you keep; check the README for guidance on data retention.
Last verified: 2026-04-21