imgup (now with SmugMug as the image upload backend)

· 470 words · 3 minute read

I finished up the initial SmugMug version of imgup today.

There are some things I’d like to add, but it’s good enough to stick in Docker and run locally as a drop-in replacement for the Cloudflare edition I’ve been using.

The basic workflow of the tool is:

  • You make a private (but not secret) album.
  • You upload images to it.
  • During the upload process you can set the title and caption properties. The caption goes on to be the alt-text.
  • Once uploaded, you get a page back with text areas that have basic Markdown and HTML for copying/pasting, like this:
![this is alt text, which will show up for people using screen-readers](

Why? Because I get better control of the quality of images I share (SmugMug wants them to look nice at a variety of sizes and compresses/resizes accordingly), I’d like to move to having permanent URLs for images in posts (and I think I’m a SmugMug lifer now), and I’d eventually like to save the messy scattering of copies of images made just for sharing then discarded.

Because SmugMug has a pretty nice ecosystem of plugins, uploaders, and apps, there’s more I mean to do. For instance, it’s possible to just shoot an image straight from Lightroom CC on an iPad to SmugMug. There’s also a good desktop Mac uploader that can snarf up things saved to a specific folder. So if I just pick up the habit of adding title and caption metadata in Lightroom, it’ll show up in anything else I do with imgup. Uploading, ultimately, will not be something I do a lot with this tool as I build the parts where I can get back recent uploads and get easy sharing snippets.

Still on the list of things to do with this:

  • Make an Atom feed to automate dropping pictures into my socials.
  • Make a “Recent Uploads” page that provides pre-made Markdown snippets.
  • Make post this buttons for, Mastodon, etc.
  • Get rid of the manual step of editing a .env file to save tokens. I could just dump that into a file, look for it, and spare the manual uncommenting of code.

In the process of debugging oAuth, I ended up building a manual solution to the problem of keeping an oAuth session alive after restarting the app: Once you do a SmugMug auth with the app, there’s a /tokens page that tells you enough to stick your oAuth access token and secret in an environment variable. In the development environment it pulls this stuff from a .env file. You can use the app without doing this at all, at the cost of having to re-auth the app with SmugMug each time you restart it.

Previously: 🔗