Self-hosted GitHub Gist file uploader with SSH auth built with Go + HTMX.
- 🚀 Ultra-lightweight
 - 🔒 SSH key authentication
 - 📁 Multiple file uploads
 - ⚡️ Pure HTMX frontend
 - 🌘 css-scope-inline
 
- 
Create a new gist:
- Go to https://gist.github.com/ and make a new gist
 - Copy the SSH clone URL (e.g., 
[email protected]:abc123.git) - Make sure your SSH key is added to GitHub and 
gist.github.comis in yourknown_hostsfile.ssh-keyscan gist.github.com >> ~/.ssh/known_hosts
 
 - 
docker-compose.ymlservices: upgist: image: ghcr.io/zachatrocity/upgist:main ports: - "3000:3000" volumes: # Mount SSH keys for container's internal SSH agent # Note: gist.github.com needs to be in known_hosts - ~/.ssh:/root/.ssh:ro environment: - GIST_URL=change_me - GITHUB_USERNAME=change_me # see .env.example for all vars init: true - 
Run UpGist:
docker compose up -d
 
Access at http://localhost:3000
Required:
GIST_URL: The SSH clone URL of your gistGITHUB_USERNAME: Your GitHub username (needed for raw file URLs)
Optional:
GIT_USER: Git user name for commits (default: "UpGist")GIT_EMAIL: Git user email for commits (default: "upgist@local")GIT_COMMIT_MESSAGE: Custom commit message (default: "Add files via UpGist")UPGIST_LOGGING: Enable debug logging
