🗂️Open-source file hosting solution, supporting Docker and serverless deployment, supporting multiple storage channels such as Telegram, Discord, Cloudflare R2, S3, Huggingface, etc., supporting WebDAV protocol and various RESTful APIs.
Important
Please check the announcement for upgrade notes on version 2.0!
Announcement
Pinned
- If you encounter issues during deployment or usage, please carefully read the documentation, FAQ, and existing issues first.
- Note: This repository is a remake of the Telegraph-Image project. If you like this project, please support the original one as well.
V2.7.1+ Cloudflare Pages Build Output Directory Change
Starting from v2.7.1, frontend build output has been moved to the
frontend-distdirectory. Cloudflare Pages users need to manually update the build configuration:
- Go to Cloudflare Dashboard → Your Pages project →
Settings→Build- Edit
Build configuration, changeBuild output directoryfrom/to/frontend-dist- Save and redeploy
Docker and Workers users are not affected.
2026.3.4 V2.6.2 Docker Image Rebuild Notice
The Docker image has been rebuilt in this release, involving changes to the base image, directory structure, and database, bringing optimizations in concurrency, memory management, and more. To ensure data safety, please back up your data before upgrading.
Before Upgrading: Back Up Data
- Back up data: Download the backup file from the admin panel (if you were using local R2 storage, you need to download and re-upload all files)
- Back up the data folder
Upgrade Steps
Pull the latest image:
docker compose pullStart the container with the new image:
docker compose up -dVerify the container is running properly:
docker compose logs -fOnce you confirm there are no errors in the logs, you're good to go.
Restore data: Restore all data from the admin panel (R2 files from the old version need to be re-uploaded)
Rollback to Previous Version
If something goes wrong after upgrading, follow these steps to roll back:
Stop the container:
docker compose downPull the previous image version:
# amd64 docker pull marseventh/cloudflare-imgbed@sha256:896dc1b79883 # arm docker pull marseventh/cloudflare-imgbed@sha256:b5442ccc198cAlso update the
imagefield indocker-compose.ymlto the old version tag, then restart:docker compose up -dNotes:
- Make sure the backup is complete before upgrading, and back up the data folder if necessary
- If you have a custom
docker-compose.yml(e.g., custom ports, environment variables), preserve those settings during the upgrade- For issues, please check the documentation and existing issues first, or submit a new issue
2025.2.6 Version 2.0 Upgrade Notes
The v2.0 version has been released, with many changes and optimizations compared to v1.0. However, the beta version may have potential instability. If you prefer stability, you may delay updating.
Due to changes in the build command, this update requires manual operation. Please follow these steps:
- Sync your forked repository to the latest version (ignore if already synced automatically)
- Go to the Pages management page, enter
Settings->Build, edit theBuild configuration, and set theBuild commandtonpm install- All new version settings have been migrated to the Admin Panel -> System Settings interface, so generally no need to configure environment variables anymore. Settings made in the system settings interface will override environment variable settings. However, to ensure compatibility of images uploaded via the Telegram channel with the old version, please keep any previously set Telegram-related environment variables!
- After confirming the above settings are correct, go to the Pages management page, enter
Deployments, andRetrythe last failed deployment.
Notification About Switching to Telegram Channel
Due to abuse of the telegraph image hosting, the upload channel has switched to Telegram Channel. Please update to the latest version (see the last section of chapter 3.1 for update instructions) and set
TG_BOT_TOKENandTG_CHAT_IDaccording to the deployment requirements in the documentation, otherwise upload functionality will not work.Also, the KV database is now mandatory; if not configured before, please configure it as per the documentation.
For issues, please check section 5 FAQ first.
1. Introduction
Free file hosting solution with full lifecycle features including upload, management, read, and delete, supporting authentication, directories, image moderation, random images, and other features (see Feature Docs for details).
2. Document
Provides detailed deployment documentation, feature docs, development plans, update logs, FAQ, and more to help you get started quickly.
3. Demo
Demo Address: CloudFlare ImgBed Access Password: cfbed
4. Tips
-
Frontend is open source, see MarSeventh/Sanyue-ImgHub.
-
Desktop software is open source, see MarSeventh/satellite.
-
Ecosystem: We welcome community participation in the ecosystem construction. Feel free to submit PRs or Issues, and high-quality content can be found on the official ecosystem page.
-
Sponsor: Maintaining the project is not easy. If you like it, please support the author. Your support is the motivation to keep going~
-
Sponsors: Thanks to the following sponsors for supporting this project!
-
Contributors: Thanks to the following contributors for their selfless contributions!
5. Star History
If you like the project, please give a free star✨✨✨, thank you very much!
6. Special Sponsors
-
CloudFlare & EdgeOne:Provides CDN acceleration, and security protection
-
svyun:Provides cloud computing resources support
-
Linux DO: Genuine · Friendly · United · Expert








