Repolode
safebucket

safebucket/safebucket

Self-hosted file sharing platform in Go and React where uploads and downloads go directly to storage via presigned URLs, bypassing the server.

Open-source alternative to:DocSend

Stars
994
Forks
41
Open issues
37
Last commit
20 hours ago

What is it?

Safebucket is an open source file sharing platform meant to be run on your own infrastructure. Uploads and downloads use presigned URLs, so file contents move directly between the client and storage instead of passing through the application server.

Every major component is pluggable: storage, database, events, cache and notifier can each be swapped out. Authentication supports any OIDC provider for single sign-on, with local accounts for external users, plus TOTP multifactor authentication. Access is controlled by roles at both the platform and bucket level.

Sharing works through public links that can be protected by a password or limited by maximum downloads or views. The platform also includes real-time activity tracking, audit logs, file expiration, a trash with configurable retention, and an admin dashboard with platform-wide statistics.

Key features

  • 01Presigned URL uploads and downloads so files bypass the server
  • 02Pluggable storage, database, events, cache and notifier components
  • 03Single sign-on via any OIDC provider with local auth for external users
  • 04Role-based access control at platform and bucket level
  • 05Public share links with password, download and view limits
  • 06Audit logs, file expiration and trash with configurable retention

Use cases

  • Sharing files with external partners while keeping data on your own servers
  • Replacing a commercial document-sharing service with a self-hosted option
  • Running a file drop with SSO integration into an existing identity provider

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/safebucket/safebucket.git
  2. 2

    Go to the lite local deployment folder

    cd safebucket/deployments/local/lite
  3. 3

    Start the stack with Docker Compose

    docker compose up -d
  4. 4

    Open http://localhost:8080 and log in with the default admin account from the README

Things to know

  • The quick start uses a default admin password, which you should change before exposing the instance.
  • Accessing it from another machine requires editing several environment variables in the .env file.

In collections

Topics

FAQ

What is safebucket?
Self-hosted file sharing platform in Go and React where uploads and downloads go directly to storage via presigned URLs, bypassing the server. Safebucket is an open source file sharing platform meant to be run on your own infrastructure. Uploads and downloads use presigned URLs, so file contents move directly between the client and storage instead of passing through the application server.
Is safebucket free to use? What license does it have?
safebucket is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is safebucket still maintained?
Actively maintained. The last commit to safebucket was on Nov 6, 2026.
What can I use safebucket for?
Sharing files with external partners while keeping data on your own servers Replacing a commercial document-sharing service with a self-hosted option Running a file drop with SSO integration into an existing identity provider
How do I install safebucket?
Clone the repository: git clone https://github.com/safebucket/safebucket.git Go to the lite local deployment folder: cd safebucket/deployments/local/lite Start the stack with Docker Compose: docker compose up -d Open http://localhost:8080 and log in with the default admin account from the README
Where can I get safebucket?
The source code and installation instructions are on GitHub: https://github.com/safebucket/safebucket

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects