I love photography. I grew up shooting photos with manual SLRs, and a few years ago picked up a Yashica Electro 35 GSN and Olympus XA rangefinder and shot a bunch of rolls with both. My intent was to dissuade myself from buying a DSLR because I'm not a huge fan of the forced obsolescence and crappy performance of most of the DSLR bodies and lenses in my price range.

Unfortunately, with Costco discontinuing film processing at all their stores, it got a little inconvenient to process film because I have to send it out. I ended up accumulating a number of exposed rolls I was too lazy to send for processing. I'll be dealing with that soon. I'm thinking of using either Photo Vision or North Coast Photo which my friend recommends.

Back in June, I picked up a Canon AE-1 Program sold by John Titterington via his ebay store. I also found a set of clean, functional lenses paired with a broken AE-1 body and a bunch of other crap for less than $100. The glass alone was worth $100, so I feel like it was a decent enough deal on the kit.

The lenses are a Vivitar 28mm f/2.8 wide, Canon 50mm f/1.4 prime and 70-210mm f/4 tele. All are compatible with the program functionality in the AE-1 Program, which takes both the fun and a lot of the difficulty out of manual SLRs. Depending on where I'm shooting, I'm alright with the camera making my life easier.

I gave up hosting my own image gallery back in around 2005. Maintaining gallery involved patching gallery itself, PHP, Apache, the system it ran on, etc. and that wasn't (still isn't) my idea of a good time. I used Flickr for a while, and then Smugmug for a few years, until I stopped shooting as many photos and sort of gave up on both.

Since I'm committing myself to taking more photos, I've been looking at doing some self-hosting again. I found a good number of modern, well-maintained projects that aim to provide a gallery-like experience without PHP or MySQL.

Enter Sigal.

It's super easy to get started with, supports running on a webserver or offloading the image hosting to S3 if you want. It's powered by Python, and gives a good amount of flexibility out of the box. I played with it for a few hours today and I'm pretty impressed.


Install Sigal as a user
pip install --user sigal
cd <somedir>
Tell sigal to create a default config
sigal init
Edit the config to taste
vi sigal.conf.py
Make a folder for source images. Make some subfolders if you want your photos organized.
mkdir <folder referenced in cfg>
Put some images in the folder(s) you made
cp some images to folder
Run Sigal and have it process and organize your photos, as well as generating a gallery if you're using it for that.
sigal build

Good stuff.

I created a folder with subfolders with a number of test images in them. I ran sigal build and ended up with a nice, flat page with some jquery fx (by way of one of the default templates) and all my images with their thumbnails. It looks like it'll be pretty easy to customize, and maintenance is simple as well.

I also tried out the built-in s3 plugin that leverages boto, and it worked well too. Build time with 80 images + upload to s3 took approximately 40 seconds on a dual-core Linode running CentOS 7. I can see running it a couple of ways:

  1. I copy images to a VM that runs a webserver (such as this one), run it and allow cloudflare to cache my images.
  2. I run it locally and have it transfer the resulting gallery to s3 using the plugin and just run it from there.
  3. I run it locally, bundle up the gallery and transmit it to the webserver to host.

I'm thinking #2 or #3, since both save me the trouble (and wasted disk space on my VM) of copying source images over the interbutts to a VM to process.