imgup is a project I worked on a few years ago to solve the problem of where to put photos for my blogs after experiencing a few weird things with different services: The image files being renamed into something illegible, or suffering from crappy compression. Since I have been using SmugMug for years and keep everything there, I decided to create a non-browseable album I could upload images to, then share from there.

The problem with that idea was how cumbersome/tedious it was to upload things to SmugMug, grab the URL for the image, etc., so I made imgup to solve that: You just give it an image, a caption, and a title, and get back a link to the SmugMug-hosted image along with all the markup for copy/paste into a post, either as Markdown or HTML. There’s a history page with recent uploads, too.

I recently migrated it off of its Heroku hosting and into Docker on my Synology, and I’ve been especially glad for it since starting to blog on lmno, which offers no image hosting of its own, but I’ve also wanted to be able to run it as a CLI app, so this evening I got around to making that interface for it.

It just takes a --title and --caption along with a filename and returns a Markdown snippet:

$ imgup -t "Breakfast at Grits 'n Gravy" -c "Saturday morning breakfast" /Users/mph/Desktop/IMG_0627.jpg

![Breakfast at Grits 'n Gravy](https://pix.puddingtime.org/Uploads/n-47GBfb/i-CDnXqDV)

… which gives me this:

img

The home screen of the web interface:

img

… and recent uploads, with snippets ready for copy/paste as either HTML or Markdown image tags:

img