gtoxlili / JunianCloud

One-click build dedicated cloud disk | 一键搭建专属云盘,让你的闲置服务器活起来。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JunianCloud

一个轻量、便捷的个人网盘。 A lightweight, convenient personal network disk.


Demo:

橘年图床

项目介绍:

一个基于 vue (前端) 、flask (后端) 的一键式部署网盘。

项目实现:

  • 基本上传下载功能实现
  • 流式下载文件
  • 移动端布局适配
  • 好看的页面和交互效果(大雾
  • 提供了 mysql 和 纯 json 两种形式的存储方式供用户选择
  • 针对媒体,文本文件的弹窗显示

如何部署:

安装Docker-CE

curl -fsSL get.docker.com | bash

运行

# 如果不想占用宿主的80端口,使用`-p 你想要的端口:80`替换
docker run -d --name=juniancloud \
              -p 80:80 \
	      -v 你需要保存内容的目录的绝对路径:/app/uploads \
	      --restart=always \
	      glovecc/juniancloud

环境变量:

变量名称 默认值 备注
NAME 橘年图床 设定图床的名称
DRIVER json 选择存储的驱动(可选json/mysql)
MYSQL_HOST MYSQL服务器地址
MYSQL_USER MYSQL用户名
MYSQL_PASSWD MYSQL密码
MYSQL_PORT MYSQL端口
MAXSIZE 100 单位MB.默认最大上传100MB.
  • 环境变量的使用办法:添加如 -e DRIVER=mysql -e MYSQL_HOST等等参数到部署命令行里面glovecc/juniancloud 的前面一起运行即可.
  • 如果不需要改变的话不需要添加环境变量保持默认值即可.
  • 如果需要使用mysql作为存储驱动的话.需要同时设置DRIVER以及所有MYSQL开头的变量

通过 Nginx来反向代理网站(附加):

如果有域名的话还可以试试接下来这步,

cd /etc/nginx/conf.d
vim jncloud.conf

将以下内容添加到 conf 中:

  • http: 如果希望部署到http
server {
    listen 80;
    server_name api.juniancc.top; # 域名

    location / {
        proxy_pass http://127.0.0.1: 端口; # 这里是指向 docker 后端的服务地址
        proxy_set_header Host $http_host;
	    proxy_set_header X-Forward-For $remote_addr;
	    client_max_body_size   100m; # 允许的最大上传大小
    }
}
  • https: 如果希望部署到https

server {
    listen 80 default;
    server_name _;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl http2;
    server_name api.juniancc.top; # 域名
    ssl_certificate cert/api.pem; # 域名商那颁发的 https证书
    ssl_certificate_key  cert/api.key; # 同上
    ssl_session_timeout 5m;
    ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://127.0.0.1: 端口; # 这里是指向 dock 的服务地址
        proxy_set_header Host $http_host;
	    proxy_set_header X-Forward-For $remote_addr;
	    client_max_body_size   100m; # 允许的最大上传大小
    }
}

最后,

service nginx restart

最后的最后:

^_^ 感谢 FAN VINGA 的帮助

Docker 相关推荐阅读:Docker —— 从入门到实践

About

One-click build dedicated cloud disk | 一键搭建专属云盘,让你的闲置服务器活起来。

License:GNU General Public License v3.0


Languages

Language:Python 83.0%Language:Dockerfile 10.0%Language:HTML 7.0%