前言
不管是个人用户还是团队中,对文件存储和共享的需求都在不断增长。然而,主流公有云服务往往存在隐私风险、限速策略或高昂的扩容费用。
这时候有一款可私有部署、功能完整且完全开源的云盘系统非常不错。本文将推荐一款不追求繁复的功能堆砌,而是以简洁、稳定和自由为核心,为大家提供一个真正属于自己的云盘。
项目介绍
项目定位为轻量级、高可用的私有云盘解决方案。采用最新技术栈开发,界面设计优雅,操作逻辑清晰,适合个人搭建家庭网盘、小团队协作共享,甚至用于教学资料分发或企业内部文档管理。
它支持多用户体系、权限控制和多种数据库后端,既能快速上手,也具备良好的扩展能力。
项目功能
1、文件列表展示,支持按名称、大小、修改时间等维度排序,便于快速查找;
2、支持单个文件或整个文件夹上传,并兼容拖拽操作,提升交互体验;
3、提供共享空间功能,用户可创建专属协作区域并邀请他人加入;
4、文件分享支持公开链接与私密链接两种模式,可设置访问密码和有效期;
5、内置回收站机制,误删文件可在一定时间内恢复,避免数据丢失;
6、完善的多用户系统,每个账号拥有独立存储空间和个性化设置;
7、支持 WebDAV 协议,可与 Obsidian、RaiDrive、Windows 映射网络驱动器等工具无缝集成;
8、提供定时扫描磁盘任务,自动同步本地新增或变更的文件到云盘;
9、支持常见格式的在线预览,包括 PDF、Office 文档、图片、音视频等,并允许自定义预览引擎;
10、具备基础的文件监控与统计功能,帮助管理员了解资源使用情况。
项目特色
支持Docker安装
支持Sqlite,无需额外依赖,可做到开箱即用
安装包仅10M左右,跨平台支持。windows, linux, macOS均提供安装包
支持 文件上传,文件夹上传,拖拽上传,url抓取上传,复制粘贴上传,文件预览,文件下载,聚合下载,提取码分享
支持共享空间,可以多人共同管理一个空间中的文件
提供编程接口,可以当作网站的第三方文件存储器
支持图片缓存,可使用参数对图片进行处理
支持多用户,支持用户空间限制
支持简体中文和英文
支持预览接口自定义
项目框架
技术栈
采用前后端分离的模式开发。
后端使用Golang语言,前端采用React框架;
前端打包后的静态文件夹放置于后端/html目录下,后端对前后端资源做统一路由。
领域模型
项目体验
体验地址:https://tanker.eyeblue.cn/user/login
账号/密码: demo/123456
项目安装
通用前置条件
安装 MySQL,并创建数据库(必须使用 UTF-8 或 utf8mb4 编码,否则无法存储中文),示例数据库名:tank
Linux 系统
1、基本运行方式
# 下载并解压蓝眼云盘
# 进入解压目录,运行
./tank
# 访问 http://127.0.0.1:6010,出现安装引导页即成功
2、推荐:使用 systemd 托管服务(支持开机自启)
创建服务文件:
sudo vim /etc/systemd/system/tank.service
内容如下(请根据实际路径修改 ExecStart):
[Unit]
Description=EyeblueTank
Documentation=https://tank-doc.eyeblue.cn
Wants=network.target
After=network.target
[Service]
Type=simple
User=your_username # 可选:指定普通用户
WorkingDirectory=/path/to/tank
ExecStart=/path/to/tank/tank
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
3、管理服务
systemctl daemon-reload # 重载配置
systemctl enable tank.service # 开机自启
systemctl start tank.service # 启动
systemctl status tank.service # 查看状态
systemctl restart tank.service # 重启
systemctl stop tank.service # 停止
4、快速后台运行(非 systemd)
使用内置脚本:
./startup.sh # 启动
./shutdown.sh # 停止
Windows 系统
1、安装 MySQL,创建 UTF-8 编码的 tank 数据库
2、下载并解压蓝眼云盘
3、双击运行 tank.exe
4、浏览器打开 http://127.0.0.1:6010,按页面引导完成安装
macOS 系统
1、安装 MySQL(确保使用 UTF-8 编码)
2、下载并解压蓝眼云盘
3、终端运行:
./tank
4、访问 http://127.0.0.1:6010,按 UI 引导完成安装
后台运行(可选):
./startup.sh # 启动
./shutdown.sh # 停止
Docker 部署(推荐用于快速体验或生产环境)
1、启动 MySQL 容器
docker run --name dockermysql \
-p 13306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=tank \
-e MYSQL_USER=tank \
-e MYSQL_PASSWORD=tank123 \
-e TZ=Asia/Shanghai \
-v ~/data/dockermysql:/var/lib/mysql \
-d mysql:5.7 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
2、启动蓝眼云盘容器
docker run --name tank \
-p 6010:6010 \
--link dockermysql:mysql \
-v ~/data/dockermatter:/data/build/matter \
-e TZ=Asia/Shanghai \
-d eyeblue/tank:latest
3、初始化配置(在安装页面填写)
-
MySQL 主机:
mysql -
端口:
3306 -
数据库名:
tank -
用户名:
tank -
密码:
tank123
访问 http://127.0.0.1:6010 即可开始安装。
提示:所有平台首次启动后,均需通过 Web 页面完成初始化配置。
项目效果
网盘登录
网盘主页
移动端展示
项目源码
项目已完整开源,整体技术栈成熟,部署简单,普通用户只需几分钟即可在本地或服务器上运行起来。配套文档详细,涵盖安装、配置、WebDAV 启用、预览引擎替换等常见场景。
GitHub:https://github.com/eyebluecn/tank
总结
蓝眼云盘或许不是功能最全的网盘,但它是最值得信赖的私有云选择之一。它把复杂留给自己,把简单留给用户。在这个数据主权日益重要的时代,能够掌控自己的文件、自由部署、无惧停服,本身就是一种难得的安心。如果大家在找一个轻量、开源、可自托管的云盘系统,蓝眼云盘可以试一试。
关键词
#蓝眼云盘、#私有云、#开源网盘、#文件管理、#WebDAV、#在线预览、#多用户、#Go、#SQLite、#在线文档预留、#文档管理系统
作者:小码编匠
出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!
方便大家交流、资源共享和共同成长
纯技术交流群、需要的小伙伴请扫码
有收获?不妨分享让更多人受益
关注「程序员开源栈」,共同提升技术实力

