蓝眼云盘搭建 2024-03-08 默认分类,服务搭建 暂无评论 91 次阅读 # 蓝眼云盘搭建 ## 1. 蓝眼云盘介绍 蓝眼云盘致力于打造成一个优雅,好用,高效,克制的开源云盘。 - 支持Docker安装 - 支持Sqlite,无需额外依赖,可做到开箱即用 - 安装包仅10M左右,跨平台支持。`windows`, `linux`, `macOS`均提供安装包 - 支持 文件上传,文件夹上传,拖拽上传,url抓取上传,复制粘贴上传,文件预览,文件下载,聚合下载,提取码分享 - 支持共享空间,可以多人共同管理一个空间中的文件 - 提供编程接口,可以当作网站的第三方文件存储器 - 支持图片缓存,可使用参数对图片进行处理 - 支持多用户,支持用户空间限制 - 支持简体中文和英文 - 支持预览接口自定义 蓝眼云盘采用前后端分离的模式开发。后端使用Golang语言,前端采用React框架;前端打包后的静态文件夹放置于后端`/html`目录下,后端对前后端资源做统一路由。 ## 2. 蓝眼云盘链接 - 蓝眼云盘官网:https://tank-doc.eyeblue.cn/ - 蓝眼云盘GIthub:https://github.com/eyebluecn/tank - 在线demo(体验账号: demo 密码:123456):https://tanker.eyeblue.cn/ ## 3. 安装准备 - 如果是在Linux、Windows以及macos上单独安装,如果要使用Mysql数据库,请先安装Mysql数据库,再安装蓝眼云盘程序 - 如果使用Docker安装,需要提前装好Docker - 如果是要放在公网上使用,建议大家做反向代理域名解析(用域名访问来代替ip+端口访问的形式) 作者本人这里使用Ubantu系统的已经装好Docker的VPS来进行测试。 ## 4. 安装 ### 4.1 创建安装目录 ```bash mkdir -p /root/data/docker_data/blueEyeTank ``` ### 4.2 进入安装目录 ```bash cd /root/data/docker_data/blueEyeTank ``` ### 4.3 编写docker-compose.yml 官方只提供了docker的运行命令,没有提供docker-compose.yml文件。我的文件是参考至官方的docker命令,然后使用ChatGPT进行编写修改的。 ```shell vim docker-compose.yml ``` 文件内容如下 ```yml version: '3.8' services: blueEyeTankmysql: image: mysql:5.7 container_name: blueEyeTankmysql ports: - "13306:3306" environment: MYSQL_ROOT_PASSWORD: "dn5v7qBrW2LAwOTfLEJIkg" # 随机生成的root密码 MYSQL_DATABASE: "tank" MYSQL_USER: "tank" MYSQL_PASSWORD: "NhmUXztPFO56bohUx7p_5g" # 随机生成的tank用户密码 TZ: "Asia/Shanghai" command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-time_zone=+8:00 volumes: - ./mysql_data:/var/lib/mysql restart: always tank: image: eyeblue/tank:4.0.0 # docker hub最新的是4.0.0版本,想安装其他版本的可自行修改 container_name: blueEyeTank ports: - "6010:6010" # 左侧端口如果已经被占用,请换成其他没有被占用的端口 volumes: - ./data/dockermatter:/data/build/matter depends_on: - blueEyeTankmysql restart: always volumes: mysql_data: ``` ### 4.4 运行项目 ```bash docker-compose up -d ``` ## 5. 测试项目 ### 5.1 打开浏览器测试 打开浏览器输入ip+端口 ![image-20240214212031638](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/蓝眼云盘/image-20240214212031638.20m4yew1w38g.webp) 数据库这里可以选择MySQL或者是SQLlite,如果是没有装MySQl也没有关系,可以使用SQLlite,但是SQLlite性能肯定是没有MySQL好的。作者以MySQL作为示范。 ![image-20240214221403636](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/蓝眼云盘/image-20240214221403636.5w3i8enqolo0.webp) 一键建表 ![image-20240214221541841](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/蓝眼云盘/image-20240214221541841.3wxh14ujli00.webp) ![image-20240214221808337](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/蓝眼云盘/image-20240214221808337.2ylng6tzrkw0.webp) ### 5.2 速度测试 #### 5.2.1 上传速度 ![image-20240214222221096](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/蓝眼云盘/image-20240214222221096.7ki6khyqgwc0.webp) #### 5.2.2 下载速度 ![image-20240214222644736](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/蓝眼云盘/image-20240214222644736.1muddc7kd7xc.webp) ### 5.3 共享空间 ![image-20240214225237007](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/蓝眼云盘/image-20240214225237007.ox0uyve9e1s.webp) ![image-20240215095225843](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/蓝眼云盘/image-20240215095225843.42ye0j4tupi0.webp) ## 5.4 接口使用 文档链接:https://tank-doc.eyeblue.cn/advance/alien.html ![image-20240215102336273](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/蓝眼云盘/image-20240215102336273.4jb7cfvrlvg0.webp) 蓝眼提供了api接口,用户可以使用接口上传或者下载文件,不过我打开链接到GIthub的文档地址,结果显示文件不存在,不知道是不是文档删除或者这功能没有了? ![image-20240215102627741](https://cdn.jsdelivr.net/gh/plfish199/picx-images-hosting/蓝眼云盘/image-20240215102627741.7b8s78pdrfs0.webp) 如果有感兴趣的小伙伴,可以去研究一下。 ## 6.总结 项目搭建较为容易,官方没有提供docker-compose安装,只提供了docker命令,如果想使用docker-compose安装的小伙伴,需要自行转换成compose文件。这一点稍微没有那么方便,项目不能自行让用户注册,只能是管理员在后台添加账户。如果作为比较简单的个人存储来说基本够用,如果是作为一个分享站来说可以添加上自行注册或者允许游客访问的功能。不过如果是作为项目内分享,还是可以使用的,里面有一个共享空间设置,可以把文件放在共享空间内,大家都可以进行查看了。里面的文档也是只有查看的功能,我测试的时候,可能提供的公共office接口不稳定,所以有发现有些文档显示无法打开,有更高需求的小伙伴建议自行配置office,官方上面有文档如何搭建。后台有自带一个监控统计,这一点对于观看网盘流量来说还是比较方便的。其实,我个人是最想尝试他的接口功能,我访问在github提供的编程接口文档,发现已经删除了,可能是我本人技术有限,我这里本想给大家测试一下的,结果没有测试出来。如果大家对这个项目感兴趣的话,可以去安装测试看看。最后,非常感谢开发者的开发。 打赏: 微信, 支付宝 标签: VPS 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。