Self-hosted file sharing app where you give each client a private page to sign in and download files you share with them.
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
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
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
Open source web app for sharing passwords, notes, files and URLs through one-time links that expire by views or time, with audit logs.
Self-hostable, open source service for sharing self-destructing encrypted notes and files, inspired by PrivNote, with a Rust backend and Svelte frontend.
A cross-platform desktop download manager for HTTP, FTP, BitTorrent and magnet links, with a headless Docker server option.
A self-hosted, single-binary pastebin and file-sharing web app written in Rust, with optional encryption and URL shortening.
A peer-to-peer, end-to-end encrypted file storage, messaging and social network platform built on IPFS, with self-hosting support.