Owlistic笔记系统Docker部署指南
前言
Owlistic是一款现代化的笔记管理系统,采用Docker容器化部署可以大大简化安装和配置过程。本文将详细介绍如何使用Docker部署Owlistic系统,包括数据库配置、服务启动以及常见问题排查。
系统要求
在开始部署前,请确保您的环境满足以下要求:
- 已安装Docker引擎(建议使用最新稳定版)
- 系统资源:
- 至少2GB可用内存
- 10GB可用磁盘空间
- 网络配置:
- 确保80、8080、5432和4222端口可用
- 如果部署在云服务器,请检查安全组设置
基础服务部署
Owlistic依赖PostgreSQL数据库和NATS消息系统,我们可以使用Docker Compose快速部署这些基础设施。
创建docker-compose.yml文件
version: '3.8'
services:
postgres:
image: postgres:15
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: admin
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U admin"]
interval: 5s
timeout: 5s
retries: 5
nats:
image: nats:latest
command:
- --http_port
- "8222"
- -js
- -sd
- /var/lib/nats/data
ports:
- "4222:4222"
- "8222:8222"
volumes:
- nats_data:/var/lib/nats/data
healthcheck:
test: ["CMD", "nats-pub", "--help"]
interval: 5s
timeout: 5s
retries: 5
volumes:
postgres_data:
nats_data:
启动基础服务
docker-compose up -d
此命令将启动PostgreSQL和NATS服务,并自动创建持久化卷来保存数据。
Owlistic服务部署
Owlistic系统包含两个主要组件:后端服务和前端应用。我们提供两种部署方式:使用预构建镜像或从源代码构建。
方式一:使用预构建镜像(推荐)
- 拉取镜像
docker pull owlistic/owlistic:latest
docker pull owlistic/owlistic-app:latest
- 启动后端服务
docker run -d \
--name owlistic \
--network host \
-p 8080:8080 \
-e APP_PORT=8080 \
-e DB_HOST=localhost \
-e DB_PORT=5432 \
-e DB_USER=admin \
-e DB_PASSWORD=admin \
-e DB_NAME=postgres \
-e BROKER_ADDRESS=localhost:4222 \
owlistic/owlistic:latest
- 启动前端应用
docker run -d \
--name owlistic-app \
--network host \
-p 80:80 \
owlistic/owlistic-app:latest
方式二:从源代码构建
- 克隆源代码(此处省略具体命令)
- 构建镜像
# 构建后端镜像
docker build -t owlistic:latest .
# 构建前端镜像
docker build -t owlistic-app:latest .
- 启动容器(命令与预构建镜像相同)
验证部署
部署完成后,可以通过以下方式验证服务是否正常运行:
- 检查容器状态:
docker ps -a
-
访问前端界面: 打开浏览器访问
http://服务器IP
-
检查后端API:
curl http://localhost:8080/api/health
高级配置
环境变量说明
Owlistic支持以下关键环境变量配置:
| 变量名 | 默认值 | 说明 | |--------|--------|------| | APP_PORT | 8080 | 后端服务监听端口 | | DB_HOST | localhost | 数据库主机地址 | | DB_PORT | 5432 | 数据库端口 | | DB_USER | admin | 数据库用户名 | | DB_PASSWORD | admin | 数据库密码 | | DB_NAME | postgres | 数据库名称 | | BROKER_ADDRESS | localhost:4222 | NATS服务地址 |
持久化存储
建议为以下数据配置持久化存储:
- PostgreSQL数据卷
- NATS数据卷
- Owlistic的附件存储(如需)
常见问题排查
-
容器启动失败
- 检查日志:
docker logs owlistic
- 确认端口未被占用
- 验证数据库连接参数
- 检查日志:
-
前端无法访问后端
- 检查网络配置
- 确认后端服务健康状态
- 查看浏览器控制台错误信息
-
性能问题
- 增加容器资源限制
- 优化数据库配置
- 考虑添加缓存层
安全建议
- 修改默认的数据库凭据
- 为生产环境配置TLS加密
- 限制容器网络访问
- 定期备份数据卷
结语
通过Docker部署Owlistic笔记系统,您可以快速搭建一套功能完善的笔记管理平台。本文介绍了从基础服务部署到应用启动的完整流程,以及常见问题的解决方法。根据实际需求,您可以进一步调整配置参数,优化系统性能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考