Gokapi is a lightweight server to share files, which expire after a set amount of downloads or days. It is similar to the discontinued Firefox Send. 🐳
Firefox Send is dead. Well, it's been discontinued and nothing is ever dead when it's open source but many people have wanted a decent replacement that is well maintained. Gokapi is a great alternative to this solution. Let's take a look at Gokapi!
What is Gokapi?
Gokapi is a lightweight server to share files, which expire after a set amount of downloads or days. It is similar to the discontinued Firefox Send, with the difference that only the admin is allowed to upload files.
This enables companies or individuals to share their files very easily and having them removed afterwards, therefore saving disk space and having control over who downloads the file from the server.
Identical files will be deduplicated. An API is available to interact with Gokapi. AWS S3 and Backblaze B2 can be used instead of local storage. Customization is very easy with HTML/CSS knowledge. Encryption available.
- Encrypted file uploads (options to use no encrytion)
- Expiring files with options to choose how long files stay on server
- Cloud or Local storage options
- Image hotlinks (without encryption)
- Password protect your uploads
- Private, admin only uploads
- Official Docker image
- API access
Install Gokapi using Docker Compose
I will be installing Gokapi using Docker Compose seen below.
version: '3.3' services: gokapi: volumes: - '/docker/gokapi/data:/app/data' - '/docker/gokapi/conf:/app/config' ports: - '53842:53842' image: 'f0rc3/gokapi:latest'
Once you run the install, click over to the Docker host IP 127.0.0.0:53842/setup to begin the setup process.
This setup process will guide you through to choose what settings you want to use with your Gokapi file host. You can choose Cloud or Local storage and your encryption preferences. If you do choose to use encryption, keep in mind you cannot use the hotlink feature for images.
When the Gokapi setup process is completed, you will be redirected to the file dashboard.
Now you can begin uploading files and choose to limit the download times, expiration date or even choose to password protect the uploaded file. This means, when you share it, anyone who views the link will have to enter the password to access and or download the file.
I set my Gokapi instance up behind a reverse proxy using Nginx Proxy Manager. This allows me to direct the traffic that comes in from the domain I use to the server and port Gokapi is hosted on.
Final Notes and Thoughts
I like to use Gokapi to transfer screenshots I take on my phone over to my laptop or desktop. While Gokapi is not super responsive on mobile iOS, it does well enough to let me upload images from it without any issues.
I did want to mention this version of Send is available if you want to give it a try. I have not tested it myself so I cannot comment on how it performs however, it looks really nice!
We recently wrote an article about PicoShare which is very similar but also has it's striking differences such as user control and public uploading options with detailed control through shared upload links you create as the admin. You can check out the self hosted PicoShare review for more information.
If you find Gokapi useful, be sure to give it a star on the Gokapi Github repo. Share your comments or thoughts below!