默认管理员账号为 admin/123,首次运行后必须在生成的 config.yml 中修改;直接运行二进制会在当前目录生成大量文件,应先建好专用目录再运行;默认端口 5000,且默认未启用 SSL,公网部署需自行配置证书或反向代理
folderhost
MertJSXGPL-3.0活跃维护打包成单个可执行文件的私有云盘,能分享文件、协作编辑代码和管理用户,省去复杂部署,适合自建轻量文件服务。
Your own private cloud in one executable. Share files, collaborate on code, and manage users without complex setup.
docker run -d --name folderhost-server -p 5000:5000 -v folderhost_data:/app --restart unless-stopped mertjsx/folderhost:latestREADME 未说明硬件要求;仅需能运行 Windows 或 Linux 二进制的环境,无需 GPU 或数据库服务
单文件自托管私有云,用 Go 编译成一个可执行文件,替代 Nextcloud 做文件共享与协作
打包成单个可执行文件的私有云盘,能分享文件、协作编辑代码和管理用户,省去复杂部署,适合自建轻量文件服务。
核心能力
- 单二进制部署,Windows/Linux 约 19MB,无外部依赖
- 基于 Monaco Editor 的实时多人代码编辑
- 完整文件操作,支持大文件分块上传
- JWT 认证加细粒度用户权限与审计日志
- 回收站与可配置存储上限
容易踩的坑
- v26.11.0Release v26.11.0最新正式版2026-11-01 · 2026-11-01 21:08 UTC
FolderHost Release v26.11.0
Release Date: 2026-11-01 21:02:03 UTC
What's New
Added
- Added comprehensive unit tests for file operations:
- File creation, reading, moving, renaming, copying, deletion
- Error handling for nonexistent files and directories
- Validation for file operation endpoints
Fixed
- Fixed inconsistent error responses in some file operations.
- Improved error handling for directory read operations.
Downloads
Platform Architecture Format Download Linux x86_64 tar.gz folderhost-linux-amd64.tar.gz Linux ARMv7 (32-bit) tar.gz folderhost-linux-armv7.tar.gz Linux ARM64 tar.gz folderhost-linux-arm64.tar.gz Windows x86_64 zip folderhost-windows-amd64.zip macOS Intel tar.gz folderhost-macos-intel.tar.gz macOS Apple Silicon (M1/M2/M3) tar.gz folderhost-macos-applesilicon.tar.gz FreeBSD x86_64 tar.gz folderhost-freebsd-amd64.tar.gz Docker Multi-arch image docker pull mertjsx/folderhost:v26.11.0Docker Usage
# Pull the image docker pull mertjsx/folderhost:v26.11.0 # Or use latest docker pull mertjsx/folderhost:latest # Run with docker-compose # Download docker-compose.prod.yml from repository docker-compose -f docker-compose.prod.yml up -dImportant: The application will use port 5000 by default, but you can change this in
config.ymland update the port mapping indocker-compose.prod.ymlaccordingly.Quick Start
Linux (x86_64)
# Download and extract wget https://github.com/MertJSX/folderhost/releases/download/v26.11.0/folderhost-linux-amd64.tar.gz tar -xzf folderhost-linux-amd64.tar.gz chmod +x folderhost-linux-amd64 # Run ./folderhost-linux-amd64Windows
# Download, extract, and run # Edit config.yml as needed folderhost.exe # Or just double clickDocker
# 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:v26.11.0Manual Configuration
- Extract the downloaded archive (for binary installations)
- Run the application once to generate
config.yml - Edit
config.ymlto customize settings (especially the port if needed) - For Docker: Update the port mapping in
docker-compose.prod.ymlif you changed the port inconfig.yml - Restart the application
For issues and questions, please visit the GitHub Issues page.
- Added comprehensive unit tests for file operations:
- v26.10.1Release v26.10.12026-10-18 · 2026-10-18 19:27 UTC
查看更新说明
FolderHost Release v26.10.1
Release Date: 2026-10-18 19:19:55 UTC
What's New
Added
- Windows: Added a favicon and a description to the Windows build of FolderHost.
- Version updates: Before this, the only way to check for updates was by looking at the terminal where FolderHost runs. Now, update notifications appear directly in your Audit Logs.
Changed
- Mobile View: Most mobile designs have been updated. Added a new animation and another logout button in the mobile Navigation menu. Changed the general mobile designs of these pages to give a better experience to the user:
- File Explorer page
- Recovery page
- Code Editor page
- Login page
- Audit Logs page
- Users page
- Dependencies: Updated browserslist-db to the latest version.
Fixed
- Code Editor: The Enter button was not working; it has now been fixed.
Security
- General WebSocket scope issues: All known issues about user scope are fixed. Big thanks to @hackchang for reporting these issues!
Downloads
Platform Architecture Format Download Linux x86_64 tar.gz folderhost-linux-amd64.tar.gz Linux ARMv7 (32-bit) tar.gz folderhost-linux-armv7.tar.gz Linux ARM64 tar.gz folderhost-linux-arm64.tar.gz Windows x86_64 zip folderhost-windows-amd64.zip macOS Intel tar.gz folderhost-macos-intel.tar.gz macOS Apple Silicon (M1/M2/M3) tar.gz folderhost-macos-applesilicon.tar.gz FreeBSD x86_64 tar.gz folderhost-freebsd-amd64.tar.gz Docker Multi-arch image docker pull mertjsx/folderhost:v26.10.1Docker Usage
# Pull the image docker pull mertjsx/folderhost:v26.10.1 # Or use latest docker pull mertjsx/folderhost:latest # Run with docker-compose # Download docker-compose.prod.yml from repository docker-compose -f docker-compose.prod.yml up -dImportant: The application will use port 5000 by default, but you can change this in
config.ymland update the port mapping indocker-compose.prod.ymlaccordingly.Quick Start
Linux (x86_64)
# Download and extract wget https://github.com/MertJSX/folderhost/releases/download/v26.10.1/folderhost-linux-amd64.tar.gz tar -xzf folderhost-linux-amd64.tar.gz chmod +x folderhost-linux-amd64 # Run ./folderhost-linux-amd64Windows
# Download, extract, and run # Edit config.yml as needed folderhost.exe # Or just double clickDocker
# 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:v26.10.1Manual Configuration
- Extract the downloaded archive (for binary installations)
- Run the application once to generate
config.yml - Edit
config.ymlto customize settings (especially the port if needed) - For Docker: Update the port mapping in
docker-compose.prod.ymlif you changed the port inconfig.yml - Restart the application
For issues and questions, please visit the GitHub Issues page.
- v26.10.0Release v26.10.02026-10-05 · 2026-10-05 12:44 UTC
查看更新说明
FolderHost Release v26.10.0
Release Date: 2026-10-05 12:34:52 UTC
What's New
Added
- Recovery cleaner: Automatically removes old items from the recovery bin. You can set the duration after which a recovery item is permanently removed. The current default is 7 days, but you can change it. New info will appear in the Recovery page showing how much time remains until each file's deletion.
- Keyboard shortcuts: Added a lot of keyboard shortcuts in UI to improve user experience.
- Login: Log in much faster using the Enter key. For example, after typing your username, press Enter to jump to the password input. Previously, you had to click the password field with your mouse — now you don't.
- Creating a file: The plus button in File Explorer opens a menu to create a file
or directory. Previously you had to type the name and click "Create directory" or
"Create file". Now you can press Enter instead. The app checks whether the name has
a file extension:
item.txt+ Enter creates a file, whileexample.comrequires clicking "Create directory" manually. The UI highlights the default action. - Message boxes: Now you can automatically close the error/info boxes by pressing Enter instead of manually clicking with your mouse.
- File types: Added icon support for many new file extensions, categorized below.
- Images: bmp, tiff, tif, heic, heif, avif, raw, cr2, nef, arw, psd, ai, xd, xcf
- Documents: txt, rtf, epub, mobi, tex, xps, odt, ods, odp
- Archives: xz, bz2, lz, lzma, zst, deb, rpm, appimage, snap
- Video: mkv, avi, mov, wmv, flv, webm, m4v, mpg, mpeg, 3gp, ogv
- Audio: acc, m4a, ogg, wma, aiff, mid, midi, ape
- Web: scss, sass, less, styl
- Programming languages:
- Frontend: tsx, jsx, vue, svelte
- Systems: c, h, cpp, cc, cxx, hpp, hh, hxx, asm, s, bin, o, obj
- Scientific: f, f77, f90, f95, f03, f08, for, mat, h5, hdf5, nc, rdata, rds, parquet, arrow
- Legacy: pas, pp, dpr, dpk
- Functional: hs, lhs, fs, fsx, fsi, ex, exs
- Modern: cs, zig, sol, go, mod, sum, gradle, rs, scala, sc, swift, kt, kts, dart
- Scripting: rb, erb, lua, pl, pm, zsh, fish, ksh, csh, ps1, psm1, psd1, ipynb
- Others: vb, vbs, bas
- Config: conf, cfg, properties, env, toml
- Executables & system: exe, dll, msi, cab, msix, sys
- Databases: sqlitedb
- Disk images: iso, img, vhd, vhdx, vmdk, qcow2, vdi
- 3D models: blend, blend1, blend2, fbx, dae, gltf, glb, stl, 3ds, obj3d, step, stp, iges, igs, gcode
- Game engines:
- Godot: godot, tscn, gd, tres
- Blockbench: bbmodel
- Fonts: ttf, otf, woff, woff2, eot
- Certificates & keys: pem, crt, cer, key, pub, p12, pfx, gpg, asc
- Mobile packages: apk, aab, xapk
- Torrent files: torrent, torrentfile
- Logs & temp files: log, bak, tmp, temp, swp
- Markdown: mdx
Changed
- Duplicate file uploads: Uploading a file whose name already exists in the target
directory now fails with an error instead of silently replacing it. This prevents
users with upload-only permissions (but no delete permission) from overwriting files
they shouldn't be able to remove. A future update may allow auto-replace for users
with both
upload_filesanddeletepermissions. - Upload speed: Uploads are now much faster — on par with (and sometimes faster than) FTP. A ~4 GB file that previously took 14 seconds now takes about 8 seconds. Tested on localhost; real-world results depend on network speed.
- Upload UI: The upload menu now shows more information: elapsed time, remaining time, upload speed, and transferred bytes.
- Dependencies:
react-iconsupdated from 5.5.0 to 5.7.0. - Version fallback: If the program can't determine its version, it falls back to
the version defined in
default_config.ymlembedded in the binary. - Recovery UI colors: Updated the recovery
- v26.8.0Release v26.8.02026-08-15 · 2026-08-15 14:11 UTC
查看更新说明
FolderHost Release v26.8.0
Release Date: 2026-08-15 14:03:22 UTC
What's New
Added
- Image Viewer: Added direct image viewer access from sidebar preview.
- Permission Tooltips: Added tooltips to permission settings to explain what each permission does.
- Sharing system: Now you can share files with your friends using share links. Without needing to set a password to access it. You can also set an expiration date for the share link or an access password for it. Admins can also view and remove everyones shared links.
Changed
- Image Viewer: Set default mode to drag mode.
Security
- Login tracking: Now FolderHost locally logs the IP addresses and User Agents of the logged in users to provide additional security.
Fixed
- Docker versioning: Fixed issue where docker was not showing the correct version.
- Database: Fixed possible deadlocks.
- Login: Prevent browser autofill from breaking the dark mode input colors.
- Recovery: Fixed icon bugs in file recovery.
Downloads
Platform Architecture Format Download Linux x86_64 tar.gz folderhost-linux-amd64.tar.gz Linux ARMv7 (32-bit) tar.gz folderhost-linux-armv7.tar.gz Linux ARM64 tar.gz folderhost-linux-arm64.tar.gz Windows x86_64 zip folderhost-windows-amd64.zip macOS Intel tar.gz folderhost-macos-intel.tar.gz macOS Apple Silicon (M1/M2/M3) tar.gz folderhost-macos-applesilicon.tar.gz FreeBSD x86_64 tar.gz folderhost-freebsd-amd64.tar.gz Docker Multi-arch image docker pull mertjsx/folderhost:v26.8.0Docker Usage
# Pull the image docker pull mertjsx/folderhost:v26.8.0 # Or use latest docker pull mertjsx/folderhost:latest # Run with docker-compose # Download docker-compose.prod.yml from repository docker-compose -f docker-compose.prod.yml up -dImportant: The application will use port 5000 by default, but you can change this in
config.ymland update the port mapping indocker-compose.prod.ymlaccordingly.Quick Start
Linux (x86_64)
# Download and extract wget https://github.com/MertJSX/folderhost/releases/download/v26.8.0/folderhost-linux-amd64.tar.gz tar -xzf folderhost-linux-amd64.tar.gz chmod +x folderhost-linux-amd64 # Run ./folderhost-linux-amd64Windows
# Download, extract, and run # Edit config.yml as needed folderhost.exe # Or just double clickDocker
# 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:v26.8.0Manual Configuration
- Extract the downloaded archive (for binary installations)
- Run the application once to generate
config.yml - Edit
config.ymlto customize settings (especially the port if needed) - For Docker: Update the port mapping in
docker-compose.prod.ymlif you changed the port inconfig.yml - Restart the application
- v26.6.2Release v26.6.22026-06-29 · 2026-06-29 16:48 UTC
查看更新说明
FolderHost Release v26.6.2
Release Date: 2026-06-29 16:41:16 UTC
What's New
Added
- Config Migration: Added automatic config.yml migration system.
- SSL: Added SSL configuration to the default configuration file. You can enable it by setting
ssl.enabledtotruein the configuration file. There are 2 possible ways to use it. The first one is to use a self signed certificate. The second one is to use a let's encrypt certificate. If you don't have a domain or you don't want to use let's encrypt certificate just use the self signed certificate.
Changed
- Navigation bar design: The old one was looking weird and unconfortable for most of users. It was not compatible with devices that has low height. So I think the newer design is looking better now. If you have any other suggestions you can open a discussion for that.
- Old:
- New:
Security
- Login system: Limit max failed login attempts to 5 (Username will be blocked for 5 minutes after 5 failed login attempts).
Downloads
Platform Architecture Format Download Linux x86_64 tar.gz folderhost-linux-amd64.tar.gz Linux ARMv7 (32-bit) tar.gz folderhost-linux-armv7.tar.gz Linux ARM64 tar.gz folderhost-linux-arm64.tar.gz Windows x86_64 zip folderhost-windows-amd64.zip macOS Intel tar.gz folderhost-macos-intel.tar.gz macOS Apple Silicon (M1/M2/M3) tar.gz folderhost-macos-applesilicon.tar.gz FreeBSD x86_64 tar.gz folderhost-freebsd-amd64.tar.gz Docker Multi-arch image docker pull mertjsx/folderhost:v26.6.2Docker Usage
# Pull the image docker pull mertjsx/folderhost:v26.6.2 # Or use latest docker pull mertjsx/folderhost:latest # Run with docker-compose # Download docker-compose.prod.yml from repository docker-compose -f docker-compose.prod.yml up -dImportant: The application will use port 5000 by default, but you can change this in
config.ymland update the port mapping indocker-compose.prod.ymlaccordingly.Quick Start
Linux (x86_64)
# Download and extract wget https://github.com/MertJSX/folderhost/releases/download/v26.6.2/folderhost-linux-amd64.tar.gz tar -xzf folderhost-linux-amd64.tar.gz chmod +x folderhost-linux-amd64 # Run ./folderhost-linux-amd64Windows
# Download, extract, and run # Edit config.yml as needed folderhost.exe # Or just double clickDocker
# 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:v26.6.2Manual Configuration
- Extract the downloaded archive (for binary installations)
- Run the application once to generate
config.yml - Edit
config.ymlto customize settings (especially the port if needed) - For Docker: Update the port mapping in
docker-compose.prod.ymlif you changed the port inconfig.yml
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
No Dependencies Required!
Lightweight: Windows / Linux ~19MB
Overview
FolderHost is a self-hosted cloud platform that allows you to store, manage, 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.
Screenshots
Here you can view some screenshots of the web client. These are screenshots from my cloud that I'm using to manage my Minecraft server:
Installation
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.
Docker
# 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
Binary Installation
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.
Windows
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.
Linux
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
Documentation
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.
Why FolderHost?
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 |
Features
Core
- Single Binary Deployment - No dependencies, just run
- High Performance - Built with Go backend + React frontend
- Real-time Collaboration - Live code editing with Monaco Editor
- Multi-user Support - Permissions system
File Management
- Full file operations (upload, download, move, copy, rename)
- Chunked file uploads for large files
- Recovery bin with configurable limits
Security & Monitoring
- JWT-based authentication
- Granular user permissions
- Audit logs for all activities
- Configurable storage limits
Configuration
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:
# _______ __ __
# / _____/ / / / /
# / /__ / /__/ /
# / ___/ / ___ /
# / / / / / /
# /_/ /_/ /_/ By MertJSX
#
# Thanks for using my application!!! Please report if you catch any bugs!
# Here is the GitHub page of FolderHost: https://github.com/MertJSX/folderhost
# Contact for security vulnerabilities: [email protected]
version: "v26.6.2"
# Port is required. Don't delete it!
port: 5000
# This is folder path. You can change it, but don't delete.
folder: "./host"
# Limit of the folder. Examples: 10 GB, 300 MB, 5.5 GB, 1 TB...
# You can remove it if you trust users.
storage_limit: "10 GB"
# This is secret json web token key to create tokens. If you don't have one, it will be autogenerated.
secret_jwt_key: "auto"
# Admin account properties
admin:
username: "admin"
password: "123"
email: "[email protected]"
scope: "" # for example "/yourfolder", this attribute will set a specific location for user and he cannot 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
# Holds deleted files. Accidentally, you might delete files that you don't want to delete.
recovery_bin: true
# Optionally you can limit recovery_bin storage. You can remove it if you want.
bin_storage_limit: "5 GB"
# Enable/Disable logging activities
log_activities: true
# Clears logs automatically after some days. If you want to disable it set the value to 0.
clear_logs_after: 7 # Days
# -------------------------------------------------------------
# SSL / HTTPS Configuration
# -------------------------------------------------------------
ssl:
enabled: false
# Mode determines how the SSL certificate is generated:
# "self_signed" -> (Recommended for local networks) Automatically generates a certificate. No domain required.
# "letsencrypt" -> (For public websites) Gets a free, valid certificate. Requires a real domain and open port 80/443.
type: "self_signed"
# Let's Encrypt Settings (Only required if type is "letsencrypt")
domains:
- example.com
email: "[email protected]"
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
Security suggestions
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.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. You can look for Contributing information HERE!
License
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.
Credits
Built with ❤️ by MertJSX
Contributors
- Simeon / @simeonnv (Github: https://github.com/simeonnv)
- Ömer Açıkgöz / @Omeracix (Github: https://github.com/Omeracix)
Tech Stack:
- Backend: Go
- Frontend: React + TypeScript + Vite
- Editor: Monaco Editor
- Database: SQLite