Repolode
Forceu

Forceu/Gokapi

Self-hosted file sharing server in Go with expiring links, optional S3 storage, and no public uploads, positioned as an alternative to Firefox Send.

Open-source alternative to:Firefox Send

Stars
2,920
Forks
156
Open issues
53
Last commit
last month

What is it?

Gokapi is a self-hosted file sharing server written in Go. It is designed as a replacement for Firefox Send, which was discontinued, and lets you run your own service to upload files and share download links.

Shared files can expire automatically after a set number of downloads or a set number of days. Only registered users can upload, with role-based permissions, and external parties can be given a file request URL that lets them upload files visible only to its creator. Storage can be the local disk or an S3-compatible service such as AWS S3 or Backblaze B2, and identical files are deduplicated. Encryption is built in, including end-to-end encrypted uploads.

For integration, Gokapi offers a REST API, OpenID Connect login with providers such as Authelia or Keycloak, and a customizable UI through custom CSS and JavaScript. It can run on bare metal on Linux, macOS, or Windows, or as a Docker container.

Key features

  • 01Shares expire after a set number of downloads or days
  • 02Role-based user management where only registered users can upload
  • 03File request URLs let external people upload files to you
  • 04Identical files are deduplicated to save space
  • 05Supports AWS S3 and S3-compatible storage such as Backblaze B2
  • 06Built-in encryption, including end-to-end encrypted uploads
  • 07REST API and OpenID Connect login

Use cases

  • Sharing large files with people outside your organization without a third-party service
  • Collecting files from external contacts through a file request link
  • Running a private file-sharing service with SSO via Keycloak or Authelia

Quick start

  1. 1

    Start Gokapi instantly with Docker

    docker run --rm --name gokapi -v gokapi-data:/app/data -v gokapi-config:/app/config -p 127.0.0.1:53842:53842 -e TZ=UTC docker.io/f0rc3/gokapi:latest
  2. 2

    Open http://localhost:53842/setup in your browser and follow the setup wizard

Things to know

  • The README's quick start is Docker-based, and bare-metal installation requires following the external setup guide.
  • Licensed under AGPL-3.0, which requires source disclosure for modified versions run as a network service.

In collections

Topics

FAQ

What is Gokapi?
Self-hosted file sharing server in Go with expiring links, optional S3 storage, and no public uploads, positioned as an alternative to Firefox Send. Gokapi is a self-hosted file sharing server written in Go. It is designed as a replacement for Firefox Send, which was discontinued, and lets you run your own service to upload files and share download links.
Is Gokapi free to use? What license does it have?
Gokapi is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is Gokapi still maintained?
Updated within 6 months. The last commit to Gokapi was on Sep 12, 2026.
What can I use Gokapi for?
Sharing large files with people outside your organization without a third-party service Collecting files from external contacts through a file request link Running a private file-sharing service with SSO via Keycloak or Authelia
How do I install Gokapi?
Start Gokapi instantly with Docker: docker run --rm --name gokapi -v gokapi-data:/app/data -v gokapi-config:/app/config -p 127.0.0.1:53842:53842 -e TZ=UTC docker.io/f0rc3/gokapi:latest Open http://localhost:53842/setup in your browser and follow the setup wizard
Where can I get Gokapi?
The source code and installation instructions are on GitHub: https://github.com/Forceu/Gokapi

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

Related projects