Self-hosted cloud platform in a single binary - Share files, collaborate in real-time, and manage users with zero dependencies.
No Dependencies Required!
Lightweight: Windows / Linux ~19MB
FolderHost is a self-hosted cloud platform that allows you to store, share, and collaborate on files with other users. It is built with Go backend and React frontend, and is designed to be lightweight and easy to use. FolderHost is a great alternative to Nextcloud for users who want a simple and efficient file sharing solution. It has many features such as file management, user management, real-time collaboration, recovery bin, logs and more. Currently it's not made to be used for mobile devices, but I will try to make it mobile friendly in the future. You can check all the features from below.
Here you can view some screenshots of the web client:
More Screenshots
<img width="700px" alt="image" src="https://github.com/user-attachments/assets/97a3afeb-0f43-488f-b31a-7c616687c988" />
<img width="700px" alt="image" src="https://github.com/user-attachments/assets/04286979-6bd9-4c02-92a1-b994242fc576" />
<img width="700px" alt="image" src="https://github.com/user-attachments/assets/ca462852-6fae-4ec2-9479-af7f3e3a09a1" />
<img width="700px" alt="image" src="https://github.com/user-attachments/assets/9b23c9f4-5bc0-4e61-becd-c3cee71e2150" />
There are 2 possible ways to run FolderHost. The first one is using Docker, and the second one is by downloading the binary for your operating system. If you want a more secure and more popular way to run FolderHost, I'd suggest you to use Docker. But if you don't want to use Docker, just download the binary for your OS and run it. There are no dependencies to run the binary. Lots of people use docker, but for me the better way is using the binary. Because there are no dependencies and it's lightweight. But, it's up to you. You can check the instructions below.
# Run container, you can access the files using docker volumes
docker run -d \
--name folderhost-server \
-p 5000:5000 \
-v folderhost_data:/app \
--restart unless-stopped \
mertjsx/folderhost:latest
First of all you need to create a folder to store your files and the binary. Then you can run the binary. Otherwise it's going to create a lot of files in your current directory. This is just for the ones that don't want to use docker.
Go to the releases install the latest windows version then run the binary inside that folder.
# Download the .exe, then:
folderhost.exe # or just double click it.
Don't forget to create a folder for the binary, and run the binary in that folder.
Just copy and paste this and folderhost will start working. It's around 19 mb for linux.
wget https://github.com/MertJSX/folderhost/releases/latest/download/folderhost-linux-amd64.tar.gz
tar -xzf folderhost-linux-amd64.tar.gz
chmod +x folderhost-linux-amd64
rm -rf folderhost-linux-amd64.tar.gz
# Run
./folderhost-linux-amd64
There is a simple documentation page that explains how to use FolderHost. You can access it from the website of the FolderHost. The program itself is so simple. There is basically nothing to explain. The configuration file has it's own comments describing what each field does. If you have any additional questions, you can open an issue or discussion on GitHub. I usually reply in a few hours but it might take a day or two depending on my schedule.
Lightweight alternative to Nextcloud - Get the same file sharing features without the complexity.
| Feature | FolderHost | Nextcloud |
|---|---|---|
| Binary Size | ~19MB | 200MB+ |
| Dependencies | None | PHP+Database |
| Setup Time | 30 seconds | 15+ minutes |
| Single Binary | Yes | No |
| Real-time Editing | Yes | No |
| Easy Setup | Yes | No |
If you encounter any issues or have questions, please feel free to open an issue or provide feedback. Your input is highly appreciated!
On first run, a config.yml file will be created. Edit it to customize, don't forget to change admin password:
Show config
```yml
port: 5000
folder: "./host"
storage_limit: "10 GB"
secret_jwt_key: "auto"
admin: username: "admin" password: "123" email: "example@email.com" scope: "" # for example "/yourfolder", this attribute will set a specific location for user and user can't escape it permissions: read_directories: true read_files: true create: true change: true delete: true move: true download: true upload: true rename: true extract: true archive: true copy: true read_recovery: true use_recovery: true read_users: true edit_users: true read_logs: true
recovery_bin: true
bin_storage_limit: "5 GB"
log_activities: true
clear_logs_after: 7 # Days
**Default Access**
Once running, open your browser to:
http://localhost:5000 ```
Default credentials: admin / 123 (Change them from config.yml file)
View All Releases • Report Issues • Changelog
The security setup for a cloud storage like FolderHost is very important. I've added some important security features to defend against attacks. But always add your own security measures too, like Cloudflare, SSL, and etc. You can try to change the default port to make it harder to find the server. For the admin account, change the username and password!
JWT tokens here are very secure. They have only 24 hours validity. But it saves your last login IP, last login user-agent, browser etc. To prevent attackers from stealing your token and logging in as you. That means even if they steal your token, they can't login as you because it will detect that it's not your IP, User-Agent etc. The con of this feature is that if you login from another device, you will be logged out of the previous device. So you can't use one account for different users. I would suggest you to create different accounts for each user, even if they don't have a special folder.
For a 100% security you can make your FolderHost server local and only connect to it using SSH tunnels or VPNs.
Contributions are welcome! Please feel free to submit a Pull Request. You can look for Contributing information HERE!
The current license is GPL-3.0 License. I like open-source things, so I decided to release this project under GPL-3.0 License. It's not gonna be changed. I'm open to new ideas and contributions.
Built with ❤️ by MertJSX
$ claude mcp add folderhost \
-- python -m otcore.mcp_server <graph>