我开源了一个私人云盘——蓝眼云盘

2018-01-16 11:25:44 +08:00
 zicla

蓝眼云盘

在线 Demo (体验账号: demo@tank.eyeblue.cn 密码:123456)

后端 tank 地址

前端 tank-front 地址

简介

蓝眼云盘是 蓝眼系列开源软件 之一,也是蓝眼系列其他软件的基础服务软件。蓝眼博客具有以下几大特色:

1. 软件体积小,跨平台,运行简单

2. 使用方便,核心功能齐全

3. 支持接口编程

4. 前后端分离,文档丰富

如果您觉得蓝眼云盘对您有帮助,请不要吝惜您的 star

软件截图

安装

** a) 准备工作 **

  1. 一台 windows/linux 服务器,当然你可以使用自己的电脑充当这台服务器

  2. 安装好 Mysql 数据库

  3. 在这里下载服务器对应的安装包

  4. 在服务器上解压缩,修改配置文件conf/tank.json,各项说明如下:

{
   //服务器运行的端口,默认 6010。如果配置为 80,则可直接用 http 打开
  "ServerPort": 6010,
  //日志是否需要打印到控制台,默认 false,主要用于调试
  "LogToConsole": false,
  //Mysql 端口,默认 3306
  "MysqlPort": 3306,
  //Mysql 主机
  "MysqlHost": "127.0.0.1",
  //Mysql 数据库名称
  "MysqlSchema": "tank",
  //Mysql 用户名,建议为蓝眼云盘创建一个用户,不建议使用 root
  "MysqlUserName": "tank",
  //Mysql 密码
  "MysqlPassword": "tank123",
  //超级管理员用户名,只能是字母和数字
  "AdminUsername": "admin",
  //超级管理员邮箱,作为登录的账号
  "AdminEmail": "admin@tank.eyeblue.cn",
  //超级管理员密码
  "AdminPassword": "123456"
}

** b) 运行 **

cd 应用目录路径
./tank

如果你希望关闭 shell 窗口后,应用依然运行,请使用以下脚本启动和停止

# 启动应用
cd 应用目录路径 /service
./startup.sh

# 停止应用
cd 应用目录路径 /service
./shutdown.sh

** c) 验证 **

浏览器中打开 http://127.0.0.1:6010 (127.0.0.1 请使用服务器所在 ip,6010 请使用tank.json中配置的ServerPort) 可以看到登录页面,并且使用配置文件中的邮箱和密码登录成功后可以看到全部文件(见上文截图)即表示安装成功。

使用源代码自行打包

前端项目打包

  1. clone tank-front

  2. 安装依赖项

npm install
  1. 执行打包命令
npm run build
  1. 通过前面三步可以在dist文件夹下得到打包后的静态文件,将dist目录下的所有文件拷贝到后端项目的build/html文件夹下。(下文的工程目录中也有说明)

后端项目打包

  1. clone tank

  2. 安装 Golang,环境变量GOPATH配置到工程目录,建议工程目录结构如下:

golang                       #环境变量 GOPATH 所在路径
├── bin                      #编译生成的可执行文件目录
├── pkg                      #编译生成第三方库
├── src                      #golang 工程源代码
│   ├── github.com           #来自 github 的第三方库
│   ├── golang.org           #来自 golang.org 的第三方库
│   ├── tank                 #clone 下来的 tank 根目录
│   │   ├── build            #用来辅助打包的文件夹
│   │   │   ├── conf         #默认的配置文件
│   │   │   ├── doc          #文档
│   │   │   ├── html         #前端静态资源,从项目 tank-front 编译获得
│   │   │   ├── pack         #打包的脚本
│   │   │   ├── service      #将 tank 当作服务启动的脚本
│   │   ├── dist             #运行打包脚本后获得的安装包目录
│   │   ├── rest             #golang 源代码
      
  1. 准备项目依赖的第三方库

其中golang.org/x国内无法下载,请从这里下载,并按上文推荐的目录结构放置。其余依赖项均可通过安装脚本自动下载。

  1. 打包
cd tank/build/pack/
./build.sh

成功之后可在tank/dist下看到tank-x.x.x.linux-amd64.tar.gz

利用得到的安装包即可参考上文的安装一节进行安装。

相关文档

蓝眼云盘后端 api

蓝眼云盘编程接口

Contribution

感谢所有蓝眼云盘的贡献者 @zicla@seaheart@yemuhe@hxsherry

如果您也想参与进来,请尽情的 fork, star, post issue, pull requests

License

MIT

Copyright (c) 2017-present, eyeblue.cn

注: 原文发布于蓝眼博客 http://blog.eyeblue.cn/home/article/8953d493-f80a-4be0-bde2-50d3c5747430

13996 次点击
所在节点    开源软件
63 条回复
zicla
2018-01-16 11:33:29 +08:00
为什么使用 golang 来开发?因为 golang 这几年上升特别快,正好也想用来练手一下;另一方面 golang 编译简单,最后就一个可执行文件,用于做软件分发太合适了。
bubue
2018-01-16 13:40:20 +08:00
错误类的提示比如我上传了一个文件,等待过程中去其他 Tab 网页了,可能会看不到结果。
zicla
2018-01-16 13:58:45 +08:00
@bubue 文件最终还是上传成功了吧?
bubue
2018-01-16 14:32:51 +08:00
@zicla #3 ch 超过了 1M
zicla
2018-01-16 14:51:34 +08:00
@bubue 因为这个是 demo 账号,我不能把上传限制放太大,否则我的服务器流量烧钱那个心痛啊。不过如果你自己部署一个蓝眼云盘的话,你可以对任何用户设置任何大小限制 ^_^
FFLY
2018-01-16 14:59:59 +08:00
功能太少了,没法和 Nextcloud 这样的产品比。
mokeyjay
2018-01-16 15:00:07 +08:00
看起来不错,开源项目都 应该滋糍一个
另外,已经被挂色情广告了
zicla
2018-01-16 15:05:40 +08:00
@FFLY,做这个开源的目的就是追求小而精,方便程序员根据自己的需求做二次开发。
zicla
2018-01-16 15:06:57 +08:00
@mokeyjay 在线体验的链接没有做 https,我这边看就没有色情广告,是不是你的 DNS 被劫持了啊?
ztshia
2018-01-16 15:11:20 +08:00
每一款产品都有完善的过程,鼓励一下
cy97cool
2018-01-16 15:12:29 +08:00
能不能提供个 Dockerfile 并 push 到 DockerHub,这样就只要一条 docker run 命令就部署好了 233333
zicla
2018-01-16 15:12:38 +08:00
@ztshia 谢谢鼓励支持^_^
zicla
2018-01-16 15:13:45 +08:00
@cy97cool 这个提议非常不错啊,我接下来去尝试一下
cy97cool
2018-01-16 15:15:34 +08:00
release 用的域名 tank.eyeblue.cn 没配 https 证书?

下载的时候似乎也没有给出 Content-Length 不能估计下载完成时间
zicla
2018-01-16 15:17:06 +08:00
@cy97cool 大兄弟测试得很仔细啊。 对,还没有配置 https 证书; Content-Length 确实还没给出,在下一版中会 fix 这两个问题
chen2016
2018-01-16 15:23:03 +08:00
手机体验不好
zicla
2018-01-16 15:27:29 +08:00
@chen2016 确实,前面只是稍带做了一下响应式,手机还没有进行过集中优化,后面的重头戏就是手机的体验了
terrytw
2018-01-16 15:29:59 +08:00
@mokeyjay
我这边没看到
大概是你被劫持了
cy97cool
2018-01-16 15:38:26 +08:00
@terrytw 其实是我手动删掉的。。。
terrytw
2018-01-16 15:40:38 +08:00
@cy97cool .....哈哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/423254

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX