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

    诺多发表于 2024-10-20 23:00:46
    love 0

    UniBoard

    大家好!今天我要和大家分享一个超级实用的工具——UniBoard。最近我一直在用它,感觉真的很棒,所以迫不及待地想告诉大家。

    你是不是经常遇到这些情况:

    • 常用网站太多,每次都要在书签栏里翻来翻去?
    • 灵感随时迸发,但找不到一个方便的地方记录和整理?
    • 想分享个文件,但又嫌大型网盘太复杂?

    如果你有这些烦恼,那UniBoard可能正是你需要的解决方案。它把个人主页、导航链接、笔记、短链接和文件分享这些功能都整合在了一起。听起来是不是很有意思?下面我就来详细介绍一下这个工具。

    UniBoard是什么?

    UniBoard是一个开源的个人主页和导航页项目。它不仅仅是个简单的导航工具,还包含了笔记、短链接和文件分享功能。简单来说,它就像是你在网络世界的一个小小指挥中心,把各种常用功能都整合在了一起。

    UniBoard能做什么?

    1. 个人信息展示:可以把你的个人介绍、社交媒体链接等放在一个页面上。
    2. 导航链接:把常用网站整理在一起,再也不用到处找书签了。
    3. 云笔记:随时记录灵感,方便查阅。
    4. 短链服务:把又长又难记的网址变成简短的链接。
    5. 文件存储和分享:上传文件,生成链接,轻松分享。
    6. 直链下载:分享的文件可以直接下载,不用复杂的跳转。
    7. 可编辑着陆页:首页内容可以自定义,让你的UniBoard与众不同。

    为什么选择UniBoard?

    1. 一站式服务:多种功能集中在一个平台,使用起来更方便。
    2. 自主可控:可以部署在自己的服务器上,数据更安全。
    3. 简单易用:有账号密码登录功能,使用起来既安全又方便。
    4. 高度定制:可以根据自己的需求进行调整。
    5. 安全可靠:使用JWT token保证操作安全。

    UniBoard

    如何部署UniBoard?

    好了,现在到了最关键的部分——如何把UniBoard部署到你自己的服务器上。别担心,我会一步步带你完成这个过程。

    准备工作

    1. 确保你的服务器上安装了Docker和Docker Compose。如果还没安装,可以参考Docker官方文档进行安装。

    2. 找一个合适的目录,用来存放UniBoard的配置文件和数据。比如,我们可以创建一个叫uniboard的目录:

      mkdir uniboard
      cd uniboard
      

    创建配置文件

    在uniboard目录下,我们需要创建1个文件:docker-compose.yml。

    1. 创建并编辑docker-compose.yml文件:
    nano docker-compose.yml
    

    将以下内容复制到文件中:

    version: '3'
    services:
        uniboard-frontend:
            image: docker.ifuck.me/coolfan1024/uniboard:0.2.2
            container_name: uniboard-frontend
            restart: unless-stopped
            network_mode: bridge
            ports:
                - '8888:80'
            environment:
                DJANGO_SUPERUSER_USERNAME: admin
                DJANGO_SUPERUSER_PASSWORD: 123456
                DJANGO_SUPERUSER_EMAIL: admin@uniboard.com
            volumes:
                - ./media:/usr/share/nginx/media
            depends_on:
                - uniboard-backend
        uniboard-backend:
            image: docker.ifuck.me/coolfan1024/uniboard-service:0.2.2
            container_name: uniboard-backend
            restart: unless-stopped
            network_mode: bridge
            volumes:
                - ./media:/app/media
                - ./migrations:/app/api/migrations
            environment:
                DJANGO_SUPERUSER_USERNAME: admin
                DJANGO_SUPERUSER_PASSWORD: 123456
                DJANGO_SUPERUSER_EMAIL: admin@uniboard.com
            depends_on:
                postgres:
                    condition: service_healthy
                redis:
                    condition: service_healthy
        postgres:
            image: postgres:16.3-bookworm
            container_name: uniboard-postgres
            restart: unless-stopped
            network_mode: bridge
            environment:
                POSTGRES_DB: uniboard
                POSTGRES_PASSWORD: XFdWwID02qJxerertfTrYFiok7G1bg
            volumes:
                - ./database/postgres_data:/var/lib/postgresql/data
            healthcheck:
                test: ['CMD-SHELL', 'pg_isready -U postgres']
                interval: 10s
                timeout: 10s
                retries: 10
        redis:
            image: redis:7.4.0-bookworm
            container_name: uniboard-redis
            restart: unless-stopped
            network_mode: bridge
            command: ['redis-server', '--requirepass', 'GdlkOVEmA3vp8JA6ZoAiqIPxSwZR5']
            volumes:
                - ./database/redis_data:/data
            healthcheck:
                test: ['CMD', 'redis-cli', 'ping']
                interval: 3s
                timeout: 3s
                retries: 10
    

    记得将DJANGO_SUPERUSER_PASSWORD替换为你想设置的管理员密码,DJANGO_SUPERUSER_USERNAME替换为你想设置的管理员用户名。

    保存并退出。

    启动UniBoard

    现在,我们已经准备好了所有需要的配置文件。接下来就可以启动UniBoard了:

    docker-compose up -d
    

    这个命令会下载必要的Docker镜像,并在后台启动UniBoard服务。

    访问UniBoard

    启动完成后,你就可以通过http://你的服务器IP:8888来访问UniBoard了。使用你在DJANGO_SUPERUSER_PASSWORD对应的管理员密码登录。
    UniBoard

    设置反向代理(可选但推荐)

    为了更安全和方便,建议使用Nginx设置反向代理。这样你就可以用一个域名来访问UniBoard,而不是直接暴露端口。

    如果你已经有Nginx,可以添加以下配置:

    server {
        listen 80;
        server_name your_domain.com;
    
        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;
        }
    }
    

    记得将your_domain.com替换为你的实际域名。

    使用小贴士

    1. 定期备份:虽然UniBoard很稳定,但定期备份数据总是好的。你可以备份uniboard/data目录。
    2. 合理组织:把导航链接和文件分类整理,方便查找。
    3. 注意安全:除了设置强密码,也要定期更新系统和Docker镜像。
    4. 探索API:如果你懂一点编程,可以利用UniBoard的API做些有趣的自动化。

    结语

    自从用上UniBoard,我发现管理网址、笔记和文件真的方便了不少。它就像是我在网络世界的一个小小管家,把所有东西都整理得井井有条。

    如果你也在寻找一个能统一管理这些东西的工具,不妨试试UniBoard。它的部署虽然看起来有点复杂,但按照步骤来,其实很快就能搞定。而且一旦部署好了,使用起来可是相当顺手的。

    原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!

    高等精灵实验室



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