我开源了一个私人云盘——蓝眼云盘
蓝眼云盘在线Demo (体验账号: demo@tank.eyeblue.cn 密码:123456) 后端tank地址 前端tank-front地址 简介蓝眼云盘是 蓝眼系列开源软件 之一,也是蓝眼系列其他软件的基础服务软件。蓝眼博客具有以下几大特色: 1. 支持docker
2. 软件体积小,跨平台,运行简单
3. 使用方便,核心功能齐全
4. 支持接口编程
5. 前后端分离,文档丰富
如果您觉得蓝眼云盘对您有帮助,请不要吝惜您的star 软件截图PC端截图
手机端截图
Docker方式运行蓝眼云盘在运行时依赖 1.准备 docker-compose.yml 文件 #docker-compose版本,这里的3不要动 version: "3" services: # 数据库的镜像信息 # 使用mysql:5.7的镜像 db: image: mysql:5.7 volumes: # 数据库文件存放在宿主机的`~/data/mysql`位置,如果宿主机目录不存在,则会自动创建 - ~/data/mysql:/var/lib/mysql # 如果启动失败,则总是会重启。因为镜像有依赖的情况,不停重启可以保证依赖项启动成功后自己再运行 restart: always environment: # 指定root密码为`tank123`,并且创建一个新数据库`tank`,同时用户名和密码为`tank` `tank123` MYSQL_ROOT_PASSWORD: tank123 MYSQL_DATABASE: tank MYSQL_USER: tank MYSQL_PASSWORD: tank123 # 蓝眼云盘的镜像信息 # 依赖 mysql:5.7 的镜像 tank: image: eyeblue/tank:1.0.2 depends_on: - db ports: # 端口映射关系,宿主机端口:镜像端口 - "6010:6010" # 如果启动失败,则总是会重启。因为镜像有依赖的情况,不停重启可以保证依赖项启动成功后自己再运行 restart: always environment: # mysql的端口 TANK_MYSQL_PORT: 3306 # Mysql的主机,和services的第一个节点一致。 TANK_MYSQL_HOST: db # 数据库 TANK_MYSQL_SCHEMA: tank # 数据库的用户名 TANK_MYSQL_USERNAME: tank # 数据库的密码 TANK_MYSQL_PASSWORD: tank123 # 超级管理员的昵称。只能是英文或数字 TANK_ADMIN_USERNAME: admin # 超级管理员邮箱,作为登录账号 TANK_ADMIN_EMAIL: admin@tank.eyeblue.cn # 超级管理员密码,作为登录密码 TANK_ADMIN_PASSWORD: 123456 volumes: # 日志文件存放在宿主机的`~/data/tank/log`位置,如果宿主机目录不存在,则会自动创建 - ~/data/tank/log:/data/log # 上传文件存放在宿主机的`~/data/tank/matter`位置,如果宿主机目录不存在,则会自动创建 - ~/data/tank/matter:/data/matter 2.运行项目 $ docker-compose up -d 3.验证 由于数据库启动需要一定的时间,因此大约20s后,打开浏览器访问 4.停止项目 方法一:使用以下命令来停止蓝眼云盘 $ docker-compose stop 方法二:当然你也可以用停止容器的方式来停止蓝眼云盘 $ docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f5f64735fc53 eyeblue/tank:1.0.2 "/go/bin/tank" 20 minutes ago Up 13 seconds 0.0.0.0:6010->6010/tcp tank_tank_1 3a859cad3e7e mysql:5.7 "docker-entrypoint.s…" 20 minutes ago Up 14 seconds 3306/tcp tank_db_1 $ docker container stop f5 $ docker container stop 3a 如果你比较关心如何使用docker来构建蓝眼云盘,请参考 《Docker 化你的开源项目》 常规安装a) 准备工作
{ //服务器运行的端口,默认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请使用 使用源代码自行打包前端项目打包
npm install
npm run build
后端项目打包
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源代码
其中
cd tank/build/pack/ ./build.sh 成功之后可在 利用得到的安装包即可参考上文的 相关文档蓝眼云盘后端api 蓝眼云盘编程接口 快速使用Let's Encrypt开启个人网站的https Docker 化你的开源项目 Contribution感谢所有蓝眼云盘的贡献者 @zicla,@seaheart,@yemuhe,@hxsherry 如果您也想参与进来,请尽情的fork,star,post issue,pull requests LicenseMIT Copyright (c) 2017-present,eyeblue.cn 原文发布于蓝眼博客 http://blog.eyeblue.cn/home/article/8953d493-f80a-4be0-bde2-50d3c5747430 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |