Tools

RunRun: a small web UI for running shell commands on a server

A self-hostable Go web app that schedules, executes and live-streams the output of shell tasks — with auth, CSRF and rate limiting baked in

I have a recurring problem: I want to give someone (sometimes future-me) a button to push that runs a specific shell command on a server. A backup, a deployment dry-run, a cache flush, a database snapshot. Cron isn’t quite right because the trigger isn’t time-based. SSH is fine but assumes the person has SSH and remembers the exact command. A bespoke Flask app is too much yak-shaving.

RunRun is my attempt at the smallest reasonable thing that fills that gap: a Go web app where you declare tasks in YAML, log in, click “run”, and watch the output stream live in your browser.

Tools golang automation self-hosted

s3xplorer: a fast web UI to browse a single S3 bucket

A self-hostable Go web app to browse, search and (optionally) trigger Glacier restores on an S3 bucket — backed by PostgreSQL for instant browsing

The AWS console is great until you want to give someone a read-only link to a single bucket. Then it’s terrible: you have to mint an IAM user or a federated role, walk them through the console, scope it down, deal with their MFA, and so on. All they wanted was to browse a folder.

s3xplorer started as a weekend POC to play with the AWS Go SDK v2 and the minio client, and turned into the tool I now use to expose a bucket to humans without giving them AWS credentials.

Tools golang aws s3