*Why I built it:*
I wanted to learn Go by building something practical that I'd actually use. I needed a simple way to share large files with clients and family, but didn't want to rely on services that track usage or collect data. Most importantly, I wanted something that would just work without complex setup or dependencies.
*Key Features:*
- Single binary deployment (backend + frontend bundled together)
- No tracking, no metrics collection, completely private
- Local authentication for share creation
- Human-readable share URLs
- SQLite for simplicity (no external database needed)
- Clean, modern UI
- Configurable storage paths and file size limits
- MIT licensed and completely open source
*Tech Stack:*
Built with Go backend and Vue.js frontend, packaged into a single binary. Uses SQLite for metadata storage and local filesystem for files.
*Getting Started:*
1. Download the binary
2. Run it
3. Follow the interactive first-run setup
4. Start sharing files!
The project is fully open source and available at: https://github.com/DeanWard/erugo
I'm actively developing erugo and would love to hear your feedback and feature requests. Currently working on adding Docker support and white-labeling options via the UI.
Let me know if you have any questions! As this is my first Go project, I'm particularly interested in feedback from experienced Go developers as I expect there are many ways to improve the code.
It doesn't send anything to any servers, its all stored locally on your browser. If you don't trust it still, you can grab the source or use docker and self host it.
Made this with bolt.new because I wanted to evaluate the tool (i like it). I'd never have made this as quickly by hand.
https://caddygen.site/ https://github.com/DeanWard/CaddyGen
docker pull wardy784/caddygen:latest
docker run -p 8189:80 wardy784/caddygen:latest