A powerful, self-hosted cloud storage solution for managing file storage, optimization, and delivery
bucketX offers a complete solution for managing your image assets with enterprise-grade features:
- Intelligent Deduplication**: Automatically detects and eliminates duplicate images using perceptual hashing
- Advanced Compression**: Optimizes image sizes without compromising visual quality
- Format Conversion**: Converts images to modern formats like WebP, AVIF, and JPEG XL for optimal delivery
- Dynamic Transformations**: Performs on-the-fly resizing and smart cropping based on content awareness
- Secure Access Control**: Granular permission system with API keys and token authentication
- Performance Optimization**: Built-in CDN integration and caching for blazing-fast delivery
- Usage Analytics**: Track storage, bandwidth, and transformation metrics
- API-First Design**: Comprehensive REST API with excellent documentation
The dashboard serves as the central interface for managing storage operations. From here, you can:
- Upload Images & Files – Easily upload and manage your objects within different buckets.
- Create & Manage Buckets – Organize your stored data efficiently by creating and managing buckets.
- Generate Access Keys – Create secure access keys for authentication and permission management.
- View Existing Objects – Browse through all stored objects and their metadata in a structured view.
- Manage User Access & Permissions – Control who can access specific objects and perform operations.
This intuitive interface allows seamless interaction with your storage system, providing a streamlined experience for users.
git clone https://github.com/TeamXSeven/bucketX.git
cd bucketX
go mod download
air # also can use 'go run main.go'
swag init -g main.go --parseDependency --parseInternal
go mod tidy
docker compose up -d
curl -fsSL https://raw.githubusercontent.com/initify/BucketX/main/install.sh | bash
Screen.Recording.2025-04-17.at.3.01.42.PM.mov
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.