An open API service indexing awesome lists of open source software.

https://github.com/initify/bucketx

A powerful, self-hosted cloud storage solution for managing image storage, optimization, and delivery
https://github.com/initify/bucketx

cloud cloudstorage dashboard docker gin go nextjs self-hosted typescript

Last synced: 3 months ago
JSON representation

A powerful, self-hosted cloud storage solution for managing image storage, optimization, and delivery

Awesome Lists containing this project

README

        


bucketX Logo
Bucket X


A powerful, self-hosted cloud storage solution for managing image storage, optimization, and delivery

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![Go Report Card](https://goreportcard.com/badge/github.com/TeamXSeven/bucketX)](https://goreportcard.com/report/github.com/TeamXSeven/bucketX)
[![Go Version](https://img.shields.io/github/go-mod/go-version/TeamXSeven/bucketX)](https://github.com/TeamXSeven/bucketX)
[![Documentation](https://img.shields.io/badge/docs-website-blue)](https://teamxseven.github.io/bucketX/)
[![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](https://github.com/TeamXSeven/bucketX/blob/main/CONTRIBUTING.md)

## ✨ Features

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


diagram

## Dashboard Interface

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.


dashboard

## Installation

```bash
git clone https://github.com/TeamXSeven/bucketX.git
```

## Usage

```bash
cd bucketX
go mod download
air # also can use 'go run main.go'
```

### Generate Swagger Docs

```bash
swag init -g main.go --parseDependency --parseInternal
```

### Fix go dependencies tree

```bash
go mod tidy
```

### Docker

```bash
docker compose up -d
```

## Contributing

Pull requests are welcome. For major changes, please open an issue first to
discuss what you would like to change.

## License

[MIT](https://choosealicense.com/licenses/mit/)