I wanted a small image hosting service that I could deploy without maintaining a server.
Most image hosting tools I tried were either too tied to one storage provider, too simple for file management, or required me to maintain a traditional backend. So I built ImgBed around Cloudflare Workers.
It is designed for personal image hosting and lightweight file hosting. The main idea is simple: use Cloudflare as the deployment and runtime layer, then manage uploads, files, API tokens, and storage channels from a web UI.
What it currently supports:
- Deploying to Cloudflare Workers or Pages
- File upload and file management
- API Token based upload, list, delete, and file management
- Multiple storage channel configuration
- Basic security settings such as upload restrictions and token permissions
- A deployment flow for users who do not want to configure everything manually
The stack is mostly:
- Cloudflare Workers / Pages
- Cloudflare D1
- Cloudflare KV
- Vue frontend
- API Token based management endpoints
One thing I spent a lot of time on was deployment UX. Cloudflare is powerful, but small things like missing KV/D1 resources, OAuth permissions, or workers.dev URL settings can be confusing for new users. So I added step-by-step deployment progress and clearer error messages.
For example, if the Workers production URL is not enabled, the deployment page now tells the user exactly what to enable instead of just showing a generic failure.
Docs:
https://github.com/axibayuit-a11y/imgbed-docs
I am still improving the documentation and the deployment flow. Feedback from people who use Cloudflare Workers, D1, KV, or self-hosted image/file
tools would be very helpful.
Top comments (0)