Skip to content

nicebucket-org/nicebucket

Repository files navigation

Logo of nicebucket

A fast, private, open-source S3 GUI built with Tauri.

About

We got tired of using the AWS console and CLI to manage files in S3. Sometimes you want a simple file browser that just works. So we built one.

Features

  • Browse any S3-compatible bucket (S3, R2, etc.) like local folders
  • Upload files individually
  • Download files individually
  • Create and delete folders
  • Move files between folders
  • Preview files without downloading
  • Secure credential management using your system's keyring

Demo

Upload files to the root of a bucket or withing a folder and preview them within seconds.

demo.mov

Easily move files between folders.

move-file.mov

Installation

Download

Download from the Releases section.

Mac OS

We're currently working on adding code signing to our CI/CD. Unfortunately, Apple makes this process very cumbersome. Until then, you need to run the following command in order to use nicebucket on Mac:

# Modify the path to the executable if required
xattr -d com.apple.quarantine /Applications/nicebucket.app

Linux (Wayland)

Some non-Debian Wayland distributions require preloading the Wayland client library to launch the AppImage. We also had scaling glitches without GDK_SCALE=1, so keep it in the command below (adjust the binary name if needed):

LD_PRELOAD=/usr/lib/libwayland-client.so GDK_SCALE=1 ./nicebucket.AppImage

Getting Started

  1. Launch nicebucket
  2. Add your S3/R2/custom credentials (Access Key ID + Secret Access Key)
  3. Click any bucket to browse its contents

That's it. No complex configuration, no CLI commands to remember.

Development

Want to contribute or run nicebucket locally? Here's what you need:

Prerequisites

Setup

Setup is quite simple: clone the repository, install dependencies and run the app:

git clone https://github.com/nicebucket-org/nicebucket.git
cd nicebucket
npm install
npm run dev

Tech Stack

  • Frontend: React + TypeScript + Tailwind CSS
  • Backend: Rust + Tauri
  • AWS Integration: Rust AWS SDK
  • UI Components: shadcn/ui

We chose this stack because it lets us use our TypeScript knowledge while not having to use Electron. Just kidding, we did not have prior experience so we just decided on Tauri because it sounded promising. So far we're quite happy with the decision.

Contributing

Found a bug or want to add a feature? We'd love your help! Check out CONTRIBUTING.md for guidelines.

Roadmap

Want to see what's coming next? Check out our ROADMAP.md to see what's up next.

License

We share our code freely and want to keep it that way. That's why nicebucket is licensed under GPLv3 - see LICENSE.md for details.


Built with ❤️ using Tauri, React and Tailwind.