宝塔面板部署
如果习惯使用可视化面板管理服务器,可以使用宝塔面板部署 FlecBlog。
作者:hsiwf
场景
腾讯云轻量应用服务器,Ubuntu Server 24.04 LTS 64bit,宝塔面板部署(用宝塔的话可以把数据库部署在docker外面,能用宝塔的定时任务备份数据库到对象存储,很不错的功能)
宝塔面板安装
- 登录服务器
- 更新系统(可选但推荐)
apt update && apt upgrade -y
- 安装宝塔面板
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec
重要 安装完成后需要去服务器的防火墙放行对应的端口
宝塔面板初始化
- 输入
bt default可以查看宝塔的配置信息 - 输入
bt可以修改宝塔面板的配置

安装依赖
安装 Docker
登录宝塔 → 左侧「Docker」→ 立即安装

安装 PostgreSQL
- 左侧「软件商店」→ 搜索 PostgreSQL → 安装

- 设置 → 版本管理 → 安装 14 版本

版本说明 如果使用 PostgreSQL 15 或更高版本,且数据库用户不是 postgres(超级用户),需要额外配置 schema 权限:
sudo -i -u postgres psql -U postgres -d <数据库名> -c "GRANT CREATE ON SCHEMA public TO <用户名>;"
创建数据库
左侧「数据库」→ PgSQL → 添加数据库

密码注意 数据库密码确定后不要轻易修改,可能导致认证失败
Docker Compose 配置
左侧「Docker」→ 容器编排 → 添加容器编排 → 编排名称:flecblog
compose 内容
services:
server:
image: talen8/flec-server:latest
container_name: flec_server
restart: unless-stopped
environment:
DB_HOST: 172.17.0.1
DB_PORT: 5432
DB_NAME: flecdb
DB_USER: flecdb
DB_PASSWORD: ${DB_PASSWORD}
JWT_SECRET: ${JWT_SECRET}
ports:
- "8080:8080"
volumes:
- /srv/flecblog:/app/data
networks:
- flec-network
blog:
image: talen8/flec-blog:latest
container_name: flec_blog
restart: unless-stopped
environment:
NUXT_PUBLIC_API_URL: ${API_URL}
ports:
- "3000:3000"
networks:
- flec-network
depends_on:
- server
admin:
image: talen8/flec-admin:latest
container_name: flec_admin
restart: unless-stopped
environment:
API_URL: ${API_URL}
ports:
- "4000:4000"
networks:
- flec-network
depends_on:
- server
networks:
flec-network:
driver: bridge
.env 内容
# 宝塔 PostgreSQL
DB_HOST=172.17.0.1
DB_PORT=5432
DB_NAME=flecdb
DB_USER=flecdb
DB_PASSWORD=你的数据库密码
JWT_SECRET=123456789abcdefghijk
API_URL=https://api.你的域名/api/v1
常见问题
flec_server 报错
检查 PostgreSQL 配置:
- 左侧「文件」→ 搜索
postgresql.conf - 确认
listen_addresses = '*':br
- 重启 PostgreSQL 服务
反向代理
左侧「Docker」→ 网站 → 创建 → 反代容器
| 域名 | 容器 | 端口 |
|---|---|---|
| blog.你的域名 | flec_blog | 3000 |
| admin.你的域名 | flec_admin | 4000 |
| api.你的域名 | flec_server | 8080 |
申请 SSL
左侧「Docker」→ 网站 → 设置 →「SSL」→「Let's Encrypt」→ 申请 → 开启「强制 HTTPS」
访问测试
- 博客:
https://blog.你的域名 - 管理后台:
https://admin.你的域名 - 默认账号:
admin@example.com/123456
安全提示 登录后请立即修改密码
宝塔维护操作
查看日志
Docker 管理器 → 容器列表 → 选中容器 →「日志」
重启/停止/删除
容器编排 → flecblog →「重启/停止/删除」
更新镜像
容器编排 → flecblog → 修改版本号 →「保存」
数据库备份
数据库 → PostgreSQL → 选中数据库 →「备份」→「计划任务」