大家好!今天我要和大家分享一个超级实用的工具——UniBoard。最近我一直在用它,感觉真的很棒,所以迫不及待地想告诉大家。
你是不是经常遇到这些情况:
如果你有这些烦恼,那UniBoard可能正是你需要的解决方案。它把个人主页、导航链接、笔记、短链接和文件分享这些功能都整合在了一起。听起来是不是很有意思?下面我就来详细介绍一下这个工具。
UniBoard是一个开源的个人主页和导航页项目。它不仅仅是个简单的导航工具,还包含了笔记、短链接和文件分享功能。简单来说,它就像是你在网络世界的一个小小指挥中心,把各种常用功能都整合在了一起。
好了,现在到了最关键的部分——如何把UniBoard部署到你自己的服务器上。别担心,我会一步步带你完成这个过程。
确保你的服务器上安装了Docker和Docker Compose。如果还没安装,可以参考Docker官方文档进行安装。
找一个合适的目录,用来存放UniBoard的配置文件和数据。比如,我们可以创建一个叫uniboard
的目录:
mkdir uniboard
cd uniboard
在uniboard
目录下,我们需要创建1个文件:docker-compose.yml
。
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了:
docker-compose up -d
这个命令会下载必要的Docker镜像,并在后台启动UniBoard服务。
启动完成后,你就可以通过http://你的服务器IP:8888
来访问UniBoard了。使用你在DJANGO_SUPERUSER_PASSWORD
对应的管理员密码登录。
为了更安全和方便,建议使用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
替换为你的实际域名。
uniboard/data
目录。自从用上UniBoard,我发现管理网址、笔记和文件真的方便了不少。它就像是我在网络世界的一个小小管家,把所有东西都整理得井井有条。
如果你也在寻找一个能统一管理这些东西的工具,不妨试试UniBoard。它的部署虽然看起来有点复杂,但按照步骤来,其实很快就能搞定。而且一旦部署好了,使用起来可是相当顺手的。
原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!