UniBoard:私有化部署,导航笔记文件一站式管理
UniBoard 介绍
UniBoard 是一款开源的多功能个人主页平台,集成了导航管理、云笔记、短链服务、文件存储与分享等实用工具,用户可以方便地管理和使用这些功能。
🚢 项目地址
- Github:https://github.com/Coooolfan/UniBoard
🚀UniBoard 特征
-
🍉 功能集成化: 将个人主页搭建、常用网站导航、灵感笔记记录、长网址缩短、文件直链分享等功能整合于同一平台,实现「一站式」管理。
-
🐳 开源可定制: 基于Vue3+TS 前端和 Django 后端构建,支持 Docker 部署。用户可自定义首页横幅、导航分类、媒体平台信息等,打造专属数字门户。
-
🍵 导航链接:支持三级分类和自动获取网站图标,最多可添加 50+ 常用链接。
-
📒 云笔记:随时记录灵感,方便查阅;内置 Markdown 编辑器,支持表格/超链接等高级语法。
-
🎏 短链服务:将长网址转换为短链,支持访问量统计。
-
📂文件存储和分享:上传文件,生成链接,轻松分享。
-
⏬ 直链下载:提供私有/公开/密码保护三种权限,支持直链下载和下载次数统计。
🛠️ 部署 UniBoard
👻 先决条件/要求
- 最低 1GB RAM(推荐 2GB+)
- 具备docker,docker-compose 环境
- 需要定义
POSTGRES_PASSWORD
密码,作为数据库的连接凭证
🐳 使用Docker Compose部署 (推荐)
services:web:#image: coolfan1024/uniboard:latestimage: docker.cnb.cool/srebro/docker-images-chrom/uniboard:latest ##CNB镜像加速container_name: uniboard-frontendports:- '8888:80'depends_on:- backendbackend:#image: coolfan1024/uniboard-service:latestimage: docker.cnb.cool/srebro/docker-images-chrom/uniboard-service:latest ##CNB镜像加速container_name: uniboard-backendvolumes:- ./service/media:/app/serviceenvironment:POSTGRES_PASSWORD: UR*Bckl0Q7YXIK96 ##自定义一个密码POSTGRES_DB: uniboarddepends_on:- dbdb:#image: postgres:17.4-bookwormimage: docker.cnb.cool/srebro/docker-images-chrom/postgres:17.4-bookworm ##CNB镜像加速container_name: uniboard-dbenvironment:POSTGRES_PASSWORD: UR*Bckl0Q7YXIK96 ##自定义一个密码POSTGRES_DB: uniboardvolumes:- ./database/postgres_data:/var/lib/postgresql/datahealthcheck:test: ['CMD-SHELL', 'pg_isready -U postgres']interval: 10stimeout: 10sretries: 10
部署完成后,通过浏览器访问 http://<你的服务器IP>:8888
即可使用 UniBoard。
🙃 UniBoard 初始化
输入用户名/密码
自定义头像,横幅,展示姓名,个人简介,个人标语
🧭 使用Nginx反向代理
为了后面演示 短链服务+ 文件共享 ,这里需要先使用Nginx 做一个HTTPS 的反向代理,Uniboard程序本身不提供ssl相关功能,直接暴露8888端口不是一个好的选择,这样你就可以用一个域名来访问UniBoard,而不是直接暴露端口。
#UniBoard server {listen 443 ssl;server_name site.srebro.cn; ##替换成自己的域名error_page 404 /404/404.html;charset utf-8;client_max_body_size 0; #设置最大包大小为无上限ssl_certificate /home/application/nginx/cert/srebro.cn.pem; ssl_certificate_key /home/application/nginx/cert/srebro.cn.key;ssl_session_cache shared:SSL:1m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {proxy_pass http://127.0.0.1:8888;proxy_set_header Host $host; # 保留代理之前的hostproxy_set_header X-Real-IP $remote_addr; # 保留代理之前的真实客户端ipproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; # 在多级代理的情况下,记录每次代理之前的客户端真实ipproxy_set_header X-Forwarded-Proto $scheme; # 表示客户端真实的协议(http还是https)proxy_redirect default; # 指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值proxy_buffering off; # 禁用缓存,确保始终从后端获取最新内容}
}
😇管理UniBoard后台
初始化完成后,你就可以通过https://域名
来访问UniBoard了。使用你刚刚创建的用户名/密码登录。 登录方式有些许特别,见下图。
登录后的界面
📓 在线写笔记功能
🔗 短链功能
- 添加一个 https://mp.weixin.qq.com/s/4rJKGMLY39DzKB8J13AvVg 网页的短链 , 短链地址为 https://site.srebro.cn/s/3ySC
🗽 文件分享功能
支持文件快速分享,可公开,可密码保护 ;有点像🐄奶牛快传的功能。
- 复制文件分享的链接
- 输入密码后才能获取文件
- 下载后得到一张图片
🏕️ 首屏设置、外链设置
🏝️ 最终效果
🎁 获取 UniBoard
- CNB 仓库地址:UniBoard