大家好,我是熊猫,你的NAS领航员。NAS不只是存储那么简单,数码也可以是生活,关注我,给你的生活加点'技'趣!
引言
熊猫写过很多个人主页、导航、笔记、短链以及文件分享的项目了,但今天这个很有趣,它将我刚刚说到的所有功能集成起来了,实现了个人信息与横幅展示、导航页外链展示与跳转、支持账号密码登录、支持云笔记以及短链服务和文件存储、分享以及直链下载和鉴权。同时它所有的页面都是可编辑的,今天要介绍的便是这样一个集成项目——UniBoard。
UniBoard部署
项目涉及到服务的前后端部署、postgres部署以及redis部署,所以作者很贴心的为我们提供了docker-compose.yml文件,只需要更改其中的内容就可以了。这里贴上作者给到的代码:
version: '3'
services:
frontend:
image: dockerpull.com/coolfan1024/uniboard:0.2.2
container_name: uniboard-frontend
ports:
- '8888:80'
env_file:
- .env
volumes:
- ./service/media:/usr/share/nginx/media
depends_on:
- backend
backend:
image: dockerpull.com/coolfan1024/uniboard-service:0.2.2
container_name: uniboard-backend
volumes:
- ./service/media:/app/media
- ./service/migrations:/app/api/migrations
env_file:
- .env
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
postgres:
image: dockerpull.com/postgres:16.3-bookworm
container_name: uniboard-postgres
environment:
POSTGRES_DB: uniboard
POSTGRES_PASSWORD: XFdWwID02qJxerertfTrYFiok7G1bg
env_file:
- .env
volumes:
- ./database/postgres_data:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U postgres']
interval: 10s
timeout: 10s
retries: 10
redis:
image: dockerpull.com/redis:7.4.0-bookworm
container_name: uniboard-redis
command: ['redis-server', '--requirepass', 'GdlkOVEmA3vp8JA6ZoAiqIPxSwZR5']
env_file:
- .env
volumes:
- ./database/redis_data:/data
healthcheck:
test: ['CMD', 'redis-cli', 'ping']
interval: 3s
timeout: 3s
retries: 10
同时除了docker-compose.yml文件,我们还需要准备好配置文件,可以在nas中新建记事本,将其中内容改为以下内容之后再将记事本重命名为.env
。
# 用于登陆的超级用户用户名
DJANGO_SUPERUSER_USERNAME = admin
# 用于登陆的超级用户密码
DJANGO_SUPERUSER_PASSWORD = passWord
# 此邮箱仅用于创建超级用户,不会被使用
DJANGO_SUPERUSER_EMAIL = admin@uniboard.com
以上的docker-compose.yml以及.env文件中的内容都要记得更改为自己的信息,更改完成之后根据docker-compose.yml的文件内容,我们创建好对应的文件夹,最后的目录树应该为如图所示。
目录树在所有工作做好之后,我们打开NAS的ssh端口,连接上nas之后通过cd命令移动到docker-compose.yml根目录,执行命令:docker-compose up -d
。
最后看到四个镜像都成功启动则代表项目已经部署成功了。
体验
浏览器输入http:nasip:8888便可以看到项目的个人主页界面了,这里熊猫已经改成了自己的信息,如果是初始设置那么会显示作者的一些预设信息。
个人主页点击名字右边就会弹出登录窗口,输入我们配置文件中设置的账号密码便能登录后台了,默认情况下后台很简洁,顶部为精确到秒的时钟,下方从左到右分别是笔记、短链接、文件、设置以及退出。
后台首先是云笔记功能,笔记采用的为markdown编辑器,对于语法的扩展性兼容还不错,支持表格、分割线、超链接等等,作为一个临时用于记录的地方够用了。
云笔记功能短链服务也非常好用,将你需要转的短链复制到红框中,随后点击后面的+号就能生成短链了,再点击下方的复制就可以复制短链访问,这里需要注意的是,短链功能仅支持https协议,也就是说你必须反代该项目才能使用短链功能。
短链服务文件功能中,目前支持私有、完全公开以及密码保护三种权限,同时支持添加分享的文件名以及文件描述。
文件功能创建好文件之后可以看到文件记录,这里也会统计下载次数,重新编辑链接的界面也能复制临时5分钟使用的直链。
编辑文件链接点击权限旁边的链接富豪就能复制分享链接,分享界面和主界面一致,会显示发送人、文件名以及文件描述,如果有密码那么在下载的边上会要求你输入密码。
文件分享最后则是设置页,这里支持设置个人主页的头像、横幅、展示姓名、个人简介、标语以及各个媒体平台的信息(记得关注熊猫微博哦!)。
设置界面在设置的最下面支持设置用于第二屏展示的超链接,针对网址可进行标题设置、描述设置以及主题色的设置,同时也支持从网址直接获取网址图标。
第二屏第二屏会在个人主页的下方显示,鼠标移动过去还会有动态效果。
导航页总结
很精致的项目,同时集成了各种实用的功能,作者在准备做一个优雅精简的探针服务,项目公开于三四个月前,不过整体完成度已经非常高了,个人还是蛮喜欢这种风格的UI设计。
以上便是本期的全部内容了,如果你觉得还算有趣或者对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!三连