IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    云笔记、短链、文件存储——一网打尽!NAS部署UniBoard,打造个人数字堡垒

    panda发表于 2024-09-30 19:24:09
    love 0

    大家好,我是熊猫,你的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设计。

    以上便是本期的全部内容了,如果你觉得还算有趣或者对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!
    三连



沪ICP备19023445号-2号
友情链接