fgallery

TL;DR: fgallery is a dumb static web gallery generator: EXAMPLE, SETUP.

There's fgallery which is a small Debian package that takes an input directory (e.g. photo-dir) and creates a static website in a new directory (e.g. my-gallery).

$ fgallery photo-dir my-gallery

Description

From the Debian package details page.

static HTML+JavaScript photo album generator

“fgallery” is a static photo gallery generator with no frills that has a stylish, minimalist look. “fgallery” shows your photos, and nothing else.

There is no server-side processing, only static generation. The resulting gallery can be uploaded anywhere without additional requirements and works with any modern browser.

Among all the Debian packages similar to this one, this seems the most recently maintained (version 1.9.1 came out 2022-12-31). It is licensed GPLv2+ so the source code is available.

Upload to a web server

After running fgallery as described above, upload my-gallery to your static web page directory (e.g. /var/www/html/ with a typical apache2 setup) and open the index.html through a web browser.

Here's an example gallery I made just now (setup procedure).

Image

( Photo by Baltakatei / 🅭🅯🄎 4.0 )

Viewing locally with a browser

To view the gallery locally without uploading to a web server (e.g. a Digital Ocean droplet) or static content hosting service (e.g. AWS S3), you can do so with your own web browser. However, because the fgallery webpage uses Javascript and since modern browsers refuse to render Javascript in HTML pages at local file system addresses (e.g. file:///) due to same-origin policy, the easiest solution is to make a simple webserver via python3:

$ python3 -m http.server

Then, you can visit the my-gallery/index.html file via a local http:// address at http://localhost:8000/.

Summary

fgallery lacks many complex features (no image database, no metadata editing, no dynamic server processes for editing images, etc.). However, I'd argue its lack of features is the main feature. It just takes a directory of photos and spits out a directory you can plug into your hosting service. Updating the the gallery is just a matter of running the same $ fgallery photo-dir my-gallery command again and re-uploading.

TL;DR: fgallery is a dumb static web gallery generator: EXAMPLE, SETUP.