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).
( 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 -d ./my-gallery
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.
Edit(2023-07-07T12:05+00): Clarify python3 commend.
TL;DR: fgallery
is a dumb static web gallery generator: EXAMPLE, SETUP.
Maybe try out FreedomBox?
freedombox
is a Debian package which automatically sets upapache2
,firewalld
,fail2ban
and Letʼs Encrypt. It also automatically adds pre-canned configuration files for applications you install with it (e.g. Mediawiki, WordPress, Matrix, Postfix/Dovecot). The theoretical goal of FreedomBox is to allow anyone to set up a webserver and administer it via a webUI. So, although I would say itʼs not quite there yet for command-line-illiterate users, I have found the software useful as a turnkey server to see what makes certain web applications tick, albeït in mostly vanilla form.For example, after installing a new app like WordPress, you could examine what exactly the FreedomBox scripts changed in the
/etc/apache2/
or/etc/fail2ban/
configuration files.