一键部署
使用一键脚本快速生成 FlecBlog 的 Docker Compose 配置文件。
一键部署本质上仍然是 Docker 部署,只是通过脚本自动生成配置文件,省去手动创建的步骤,方便后续统一管理。
快速部署
一行命令,在当前目录生成 docker-compose.yml 和 .env 配置文件:
curl -fsSL https://get.flec.top | bash
脚本会在你执行命令的当前位置创建两个文件:
docker-compose.yml— 服务编排配置.env— 环境变量配置
部署流程
1. 执行脚本
curl -fsSL https://get.flec.top | bash
非 root 用户请使用
sudo bash:curl -fsSL https://get.flec.top | sudo bash
2. 修改配置
编辑 .env 文件,填入你的实际配置:
DB_PASSWORD=your_database_password
JWT_SECRET=your_jwt_secret_key
API_URL=http://localhost:8080/api/v1
SERVER_PORT=8080
BLOG_PORT=3000
ADMIN_PORT=4000
| 变量 | 说明 |
|---|---|
DB_PASSWORD | 数据库密码 |
JWT_SECRET | JWT 密钥,建议使用随机字符串 |
API_URL | API 对外访问地址,通常先填写 http://服务器IP:8080/api/v1 |
SERVER_PORT | 后端服务端口,默认 8080 |
BLOG_PORT | 博客端端口,默认 3000 |
ADMIN_PORT | 管理端端口,默认 4000 |
3. 启动服务
docker compose up -d
4. 访问服务
- 博客端:
http://服务器IP:BLOG_PORT - 管理端:
http://服务器IP:ADMIN_PORT
端口可在 .env 中修改,如果修改了端口请使用实际端口访问。
初始账号:
admin@example.com/123456
5. 外部访问
部署完成后,服务运行在 .env 中配置的端口上(默认 3000、4000、8080)。要让外部用户通过域名访问,需要进行以下配置。
域名解析
将域名解析到服务器 IP:
blog.yourdomain.com→ 博客端admin.yourdomain.com→ 管理端api.yourdomain.com→ 后端
Nginx 反向代理
# 博客端(端口与 .env 中 BLOG_PORT 一致)
server {
listen 80;
server_name blog.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 管理端(端口与 .env 中 ADMIN_PORT 一致)
server {
listen 80;
server_name admin.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:4000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 后端 API(端口与 .env 中 SERVER_PORT 一致)
server {
listen 80;
server_name api.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
重载 Nginx:
sudo nginx -t && sudo systemctl reload nginx
SSL 证书
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d blog.yourdomain.com -d admin.yourdomain.com -d api.yourdomain.com
更新 API 地址
配置域名后,修改 .env 中的 API_URL 为正式域名地址:
API_URL=https://api.yourdomain.com/api/v1
重启服务使配置生效:
docker compose up -d
全部命令
主题
更换博客端的主题镜像:
curl -fsSL https://get.flec.top | bash -s theme <镜像名称>
例如:
curl -fsSL https://get.flec.top | bash -s theme talen8/flec-blog
脚本会修改当前目录下 docker-compose.yml 中博客端的镜像名称,并自动重启博客服务使更改生效。
卸载
停止并移除所有容器:
curl -fsSL https://get.flec.top | bash -s uninstall
数据卷、配置文件和服务数据会保留,需根据命令提示手动清理。
升级
拉取最新镜像并重启所有服务:
curl -fsSL https://get.flec.top | bash -s upgrade
状态
查看所有服务的运行状态:
curl -fsSL https://get.flec.top | bash -s status
日志
查看所有服务的实时日志:
curl -fsSL https://get.flec.top | bash -s logs
帮助
查看所有可用命令:
curl -fsSL https://get.flec.top | bash -s help