github Coooolfan/UniBoard v0.2.1

latest releases: v0.2.3, v0.2.2
2 months ago

Caution

破坏性更新:docker-compose改变,数据卷挂载改变
你无法从低于此版本的Uniboard实例升级至此。
不要担心,这可能是唯一一次不支持升级的更新。后续所有更新都会保证可以升级至最近版本或者给出升级脚本

🥳详细功能介绍参见项目README.md

  • 首页个人信息与横幅展示
  • 导航页的外链展示与跳转
  • 账号密码登录
    • 在主页单击名字,账号密码输入框会弹出
  • 云笔记模块
  • 短链服务
  • 文件存储/分享/直链下载/鉴权
  • 着陆页的所有内容可编辑

相较于v0.2.0

feat

  • feat: 自动清理磁盘上的文件
  • feat: 使用文件分享码作为下载索引
  • feat: 允许下载链接中以文件名结尾
  • feat: 添加统计字段到文件和短链接记录
  • feat: 添加文件上传进度的展示
  • feat: 添加文件描述的溢出处理
  • feat: 添加统计字段到文件和短链接记录
  • feat: 使用文件分享码作为下载索引

fix

  • fix: jwt自动刷新的一些小问题
  • fix: 服务器现在可以返回建议的文件名
  • fix: 数据库迁移脚本
  • fix: url匹配修正
  • fix: 更新迁移脚本
  • fix: 存储于磁盘的上的文件现在不再使用原始文件名

部署与安装

Docker-compose

Note

对于WSL用户,请尝试直接在用户目录下创建文件夹运行,不要在/mnt文件夹中运行,compose中的postgres服务可能无法在此情况下设置文件权限

此README的wget目标可能未指向最新版本,建议前往releases查看各个版本的部署指南

  1. 下载.env文件和docker-compsoe.yml文件

    mkdir uniboard
    cd uniboard
    wget https://github.com/Coooolfan/UniBoard/releases/download/v0.2.1/docker-compose.yml    
    wget https://github.com/Coooolfan/UniBoard/releases/download/v0.2.1/example.env
  2. 按照需要修改.env文件和docker-compsoe.yml

    1. docker-compsoe.yml:默认只暴露8888端口(文件第8行),通过此端口向外暴露所有服务,如果您需要对uniboard配置反向代理,只需代理此端口即可。

    2. .env:按照提示修改即可,切记要修改DJANGO_SUPERUSER_PASSWORD的值,不要使用默认值!

    3. 修改完成后复制example.env.env文件,供docker compose服务调取

      cp example.env .env
  3. 使用docker compose命令启动服务

    docker compose up -d
  4. 使用浏览器访问站点,默认为8888端口,如果您在本机部署,即访问http://localhost:8888即可

使用Nginx配置反向代理

Uniboard程序本身不提供ssl相关功能,直接暴露8888端口不是一个好的选择。

考虑到不同环境下Nginx的配置可能并不相同,下文仅提供思路和必要配置。

  1. 创建对应站点的conf文件

  2. 编辑监听的server_name, ssl相关内容

  3. 配置反向代理

    client_max_body_size 0; # 设置最大包大小为无上限
    location / {
        proxy_pass http://127.0.0.1:8888;
        proxy_set_header Host $host; # 保留代理之前的host
        proxy_set_header X-Real-IP $remote_addr; # 保留代理之前的真实客户端ip
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; # 在多级代理的情况下,记录每次代理之前的客户端真实ip
        proxy_set_header X-Forwarded-Proto $scheme; # 表示客户端真实的协议(http还是https)
        proxy_redirect default; # 指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值
        proxy_buffering off;
    }
    
  4. 让Nginx重新加载配置

    nginx -s reload

Don't miss a new UniBoard release

NewReleases is sending notifications on new releases.