不用折腾环境,Docker 一键搭好你的 AI 办公系统
AI办公 Docker部署教程|一键部署
随着大模型能力的快速发展,越来越多的团队开始把 AI 引入日常办公场景,例如文档写作、会议纪要、邮件润色、知识库问答、代码辅助、数据分析、PPT 大纲生成等。相比直接使用在线 AI 工具,自建一套 AI 办公系统有很多优势:数据更可控、权限更灵活、可接入多个模型、可部署在内网环境,也更适合企业团队长期使用。
本文将以 Docker 部署为核心,介绍如何快速搭建一套可用于日常办公的 AI 办公平台。教程会尽量采用“一键部署”的方式,降低环境配置难度,适合个人用户、工作室、小团队以及企业内部测试使用。
一、什么是 AI 办公平台?
AI 办公平台可以理解为一个面向办公场景的智能助手系统。它通常具备以下能力:
- AI 对话助手:用于日常问答、方案撰写、内容生成;
- 文档写作与润色:支持文章、邮件、报告、周报、总结等文本生成;
- 知识库问答:上传企业资料、产品文档、制度文件后,可基于文档内容进行问答;
- 多模型接入:支持 OpenAI、Claude、通义千问、智谱、DeepSeek、本地模型等;
- 团队协作:可创建多个账号,按部门或角色分配权限;
- API 管理:统一管理模型接口和密钥;
- 私有化部署:数据保存在自己的服务器中,更方便管控。
通过 Docker 部署,可以将复杂的运行环境封装成容器,用户无需手动安装大量依赖,只需要准备一台服务器并执行几条命令,即可完成部署。
二、为什么推荐使用 Docker 部署?
传统部署方式通常需要手动安装 Node.js、Python、数据库、Redis、Nginx 等组件,不同系统之间还可能存在版本兼容问题。对于没有太多运维经验的用户来说,排查问题会非常耗时。
Docker 部署的优势主要有以下几点:
1. 环境统一
Docker 镜像中已经包含了应用运行所需的大部分依赖。无论你使用的是 Ubuntu、Debian、CentOS,还是云服务器环境,只要安装了 Docker,就可以运行同一套服务。
2. 部署简单
通过 docker compose 可以一次性启动多个服务,例如 Web 应用、数据库、缓存、反向代理等,不需要逐个配置。
3. 方便升级
后续升级时只需要拉取新镜像并重启容器即可,相比传统方式更加方便。
4. 易于迁移
如果要更换服务器,只需要备份配置文件和数据目录,在新服务器上重新执行部署命令即可恢复服务。
5. 隔离性更好
各个服务运行在独立容器中,互不干扰,减少了系统环境冲突的问题。
三、部署前准备
在正式部署之前,需要准备以下内容。
1. 一台服务器
推荐配置如下:
| 使用场景 | CPU | 内存 | 硬盘 | 说明 |
|---|---|---|---|---|
| 个人测试 | 1 核 | 1GB-2GB | 20GB | 仅用于简单体验 |
| 小团队使用 | 2 核 | 4GB | 40GB+ | 推荐配置 |
| 企业内部使用 | 4 核+ | 8GB+ | 100GB+ | 可承载更多用户 |
系统推荐使用:
- Ubuntu 20.04 / 22.04 / 24.04
- Debian 11 / 12
- CentOS 7 / Rocky Linux / AlmaLinux
本文以 Ubuntu 为例进行演示。
2. 一个域名,非必需但推荐
如果只是在内网或本地测试,可以直接使用服务器 IP 访问。如果要长期使用,建议绑定域名,例如:
ai.example.com
有域名后可以配置 HTTPS,访问体验更好,也更安全。
3. 模型 API Key
AI 办公系统通常需要接入大模型 API,例如:
- OpenAI API Key
- DeepSeek API Key
- 通义千问 API Key
- 智谱 GLM API Key
- Moonshot API Key
- 本地 Ollama 模型地址
你可以根据自己的需求选择模型服务商。如果只是部署平台本身,可以先不配置,后续进入后台再添加。
四、安装 Docker 与 Docker Compose
如果服务器已经安装 Docker,可以跳过本步骤。
1. 更新系统软件包
sudo apt update
sudo apt upgrade -y
2. 一键安装 Docker
执行以下命令:
curl -fsSL https://get.docker.com | bash
安装完成后,查看 Docker 版本:
docker -v
如果能看到类似输出,说明安装成功:
Docker version 26.x.x, build xxxxxxx
3. 启动 Docker 并设置开机自启
sudo systemctl enable docker
sudo systemctl start docker
4. 检查 Docker Compose
新版 Docker 通常已经内置 Compose 插件,可以执行:
docker compose version
如果输出版本号,说明可正常使用。
五、创建部署目录
建议将 AI 办公平台部署在 /opt 目录下,便于统一管理。
sudo mkdir -p /opt/ai-office
cd /opt/ai-office
创建数据目录:
sudo mkdir -p data/db data/redis data/uploads logs
目录结构大致如下:
/opt/ai-office
├── docker-compose.yml
├── .env
├── data
│ ├── db
│ ├── redis
│ └── uploads
└── logs
六、编写环境变量文件
在部署目录下创建 .env 文件:
nano .env
写入以下内容:
# =========================
# AI办公平台基础配置
# =========================
APP_NAME=AI Office
APP_PORT=3000
APP_URL=http://你的服务器IP:3000
# 管理员账号
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=请修改为强密码
# 数据库配置
POSTGRES_DB=ai_office
POSTGRES_USER=ai_office
POSTGRES_PASSWORD=请修改为数据库强密码
# Redis配置
REDIS_PASSWORD=请修改为Redis强密码
# JWT密钥,建议使用随机字符串
JWT_SECRET=请修改为随机长字符串
# 文件上传目录
UPLOAD_DIR=/app/uploads
# 默认模型配置,可后续在后台修改
OPENAI_API_KEY=
OPENAI_BASE_URL=https://api.openai.com/v1
DEFAULT_MODEL=gpt-4o-mini
注意事项:
ADMIN_PASSWORD一定要修改为强密码;POSTGRES_PASSWORD和REDIS_PASSWORD不要使用简单密码;JWT_SECRET建议使用 32 位以上随机字符串;- 如果你有反向代理和域名,
APP_URL可以改为:
APP_URL=https://ai.example.com
生成随机密钥可以使用:
openssl rand -hex 32
七、编写 Docker Compose 文件
创建 docker-compose.yml:
nano docker-compose.yml
写入以下内容:
version: "3.9"
services:
ai-office:
image: yourname/ai-office:latest
container_name: ai-office
restart: always
depends_on:
- postgres
- redis
ports:
- "${APP_PORT}:3000"
env_file:
- .env
volumes:
- ./data/uploads:/app/uploads
- ./logs:/app/logs
networks:
- ai-office-net
postgres:
image: postgres:16-alpine
container_name: ai-office-postgres
restart: always
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- ./data/db:/var/lib/postgresql/data
networks:
- ai-office-net
redis:
image: redis:7-alpine
container_name: ai-office-redis
restart: always
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- ./data/redis:/data
networks:
- ai-office-net
networks:
ai-office-net:
driver: bridge
说明:
上方yourname/ai-office:latest是示例镜像名。实际使用时,请替换为你所使用的 AI 办公项目官方镜像地址。如果你的项目提供了 Docker 镜像,例如ghcr.io/xxx/ai-office:latest或registry.cn-hangzhou.aliyuncs.com/xxx/ai-office:latest,请按实际地址修改。
如果你的 AI 办公项目已经提供了官方 docker-compose.yml,也可以直接使用官方配置。本文的结构主要用于说明通用部署方法。
八、一键启动 AI 办公平台
在 /opt/ai-office 目录下执行:
docker compose up -d
首次启动会自动拉取镜像,耗时取决于服务器网络速度。
启动完成后,查看容器状态:
docker compose ps
如果看到类似结果,说明服务正在运行:
NAME STATUS
ai-office Up
ai-office-postgres Up
ai-office-redis Up
查看日志:
docker compose logs -f ai-office
如果日志中没有明显报错,就可以通过浏览器访问:
http://服务器IP:3000
使用 .env 中配置的管理员账号密码登录后台。
九、配置模型 API
登录后台后,通常需要配置大模型接口。不同 AI 办公系统的后台界面不同,但一般会包含以下配置项:
1. OpenAI 类型接口
API Key: sk-xxxxxxxx
Base URL: https://api.openai.com/v1
Model: gpt-4o-mini / gpt-4.1 / gpt-4o
2. DeepSeek 接口
API Key: sk-xxxxxxxx
Base URL: https://api.deepseek.com
Model: deepseek-chat
3. 通义千问接口
API Key: sk-xxxxxxxx
Base URL: https://dashscope.aliyuncs.com/compatible-mode/v1
Model: qwen-plus / qwen-max
4. 本地 Ollama 模型
如果你在同一台服务器上部署了 Ollama,可以配置:
Base URL: http://host.docker.internal:11434/v1
Model: qwen2.5 / llama3.1 / deepseek-r1
Linux 环境下有时需要在 docker-compose.yml 中额外加入:
extra_hosts:
- "host.docker.internal:host-gateway"
示例:
ai-office:
image: yourname/ai-office:latest
extra_hosts:
- "host.docker.internal:host-gateway"
配置完成后,可以在对话页面发送一条测试消息,例如:
请帮我写一份周报模板。
如果能正常返回内容,说明模型接口已经配置成功。
十、配置 Nginx 反向代理与 HTTPS
如果你希望通过域名访问,例如:
https://ai.example.com
建议使用 Nginx 反向代理。
1. 安装 Nginx
sudo apt install nginx -y
2. 创建站点配置
sudo nano /etc/nginx/sites-available/ai-office.conf
写入:
server {
listen 80;
server_name ai.example.com;
client_max_body_size 100m;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Real-IP $remote_addr;
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;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
启用配置:
sudo ln -s /etc/nginx/sites-available/ai-office.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
3. 申请 HTTPS 证书
安装 Certbot:
sudo apt install certbot python3-certbot-nginx -y
申请证书:
sudo certbot --nginx -d ai.example.com
根据提示输入邮箱并确认即可。完成后,访问:
https://ai.example.com
十一、常用运维命令
1. 启动服务
docker compose up -d
2. 停止服务
docker compose down
3. 重启服务
docker compose restart
4. 查看容器状态
docker compose ps
5. 查看日志
docker compose logs -f
只查看主程序日志:
docker compose logs -f ai-office
6. 更新镜像
docker compose pull
docker compose up -d
7. 进入容器
docker exec -it ai-office sh
如果容器内使用 bash:
docker exec -it ai-office bash
十二、数据备份与恢复
AI 办公平台中最重要的数据通常包括:
- 数据库数据;
- 用户上传的文件;
- 配置文件;
- 日志文件。
本文部署方式中,数据主要保存在:
/opt/ai-office/data
/opt/ai-office/.env
/opt/ai-office/docker-compose.yml
1. 备份整个目录
最简单的方式是直接打包:
cd /opt
tar -zcvf ai-office-backup-$(date +%F).tar.gz ai-office
2. 备份数据库
也可以单独备份 PostgreSQL 数据库:
docker exec -t ai-office-postgres pg_dump -U ai_office ai_office > ai-office-db-$(date +%F).sql
3. 恢复数据库
先将 SQL 文件上传到服务器,然后执行:
cat ai-office-db-2025-01-01.sql | docker exec -i ai-office-postgres psql -U ai_office ai_office
4. 建议的备份策略
对于团队或企业使用,建议:
- 每天自动备份数据库;
- 每周完整备份上传文件;
- 备份文件保留至少 7-30 天;
- 重要数据同步到对象存储或异地服务器;
- 定期测试恢复流程,避免备份不可用。
十三、安全加固建议
AI 办公系统往往涉及企业资料、内部文档、用户对话等敏感信息,因此安全配置非常重要。
1. 修改默认管理员密码
部署完成后第一件事就是修改管理员密码,不要长期使用默认密码。
2. 不要暴露数据库端口
本文中的 PostgreSQL 和 Redis 没有映射到宿主机端口,只允许容器内部访问,这是比较安全的做法。
3. 使用 HTTPS
如果部署在公网,一定要配置 HTTPS,避免账号密码和内容明文传输。
4. 限制后台访问
如果系统支持,可以开启 IP 白名单、二次验证或管理员登录限制。
5. 定期更新镜像
定期执行:
docker compose pull
docker compose up -d
保持系统版本更新,减少安全漏洞。
6. 妥善保管 API Key
模型 API Key 不要写在公开仓库中,也不要随意发送给他人。建议只保存在 .env 文件或后台密钥管理模块中。
7. 配置防火墙
只开放必要端口,例如:
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
如果直接通过 IP 和 3000 端口访问,也需要开放:
sudo ufw allow 3000
但生产环境更推荐只开放 80 和 443,通过 Nginx 反向代理访问。
十四、常见问题排查
1. 访问不了页面怎么办?
首先检查容器是否运行:
docker compose ps
然后查看日志:
docker compose logs -f ai-office
再确认端口是否监听:
ss -tunlp | grep 3000
如果服务器开启了防火墙,也要确认端口是否放行。
2. 数据库连接失败怎么办?
检查 .env 中数据库用户名、密码、库名是否一致。还可以查看数据库容器日志:
docker compose logs -f postgres
如果数据库初始化失败,可以在确认没有重要数据的情况下删除数据库目录后重新启动:
docker compose down
rm -rf ./data/db
docker compose up -d
注意:该操作会清空数据库数据,请谨慎执行。
3. Redis 连接失败怎么办?
查看 Redis 容器状态:
docker compose ps redis
查看日志:
docker compose logs -f redis
确认 .env 中的 REDIS_PASSWORD 与应用配置一致。
4. 模型无法返回内容怎么办?
常见原因包括:
- API Key 填写错误;
- Base URL 配置错误;
- 模型名称不存在;
- 账号余额不足;
- 服务器无法访问模型服务商接口;
- 请求超时或被防火墙拦截。
可以在服务器中测试网络:
curl https://api.openai.com/v1/models
如果使用国内模型服务商,也可以测试对应接口地址是否可访问。
5. 上传文件失败怎么办?
检查上传目录权限:
ls -ld /opt/ai-office/data/uploads
必要时修改权限:
sudo chmod -R 755 /opt/ai-office/data/uploads
如果文件较大,还需要确认 Nginx 配置中的:
client_max_body_size 100m;
是否满足需求。
十五、可选:使用一键部署脚本
为了进一步简化操作,可以创建一个简单的一键部署脚本。
在服务器上执行:
nano install-ai-office.sh
写入:
#!/bin/bash
set -e
echo "开始安装 AI 办公平台..."
BASE_DIR="/opt/ai-office"
if ! command -v docker >/dev/null 2>&1; then
echo "未检测到 Docker,开始安装..."
curl -fsSL https://get.docker.com | bash
systemctl enable docker
systemctl start docker
else
echo "Docker 已安装,跳过安装步骤。"
fi
mkdir -p $BASE_DIR/data/db $BASE_DIR/data/redis $BASE_DIR/data/uploads $BASE_DIR/logs
cd $BASE_DIR
if [ ! -f ".env" ]; then
cat > .env < docker-compose.yml <
保存后执行:
chmod +x install-ai-office.sh
sudo ./install-ai-office.sh
这样就可以完成基础环境检查、目录创建、配置文件生成和容器启动。
注意:脚本中的镜像名仍然需要替换为实际项目镜像地址。默认密码也必须在部署后立即修改。
十六、部署后的使用建议
完成部署后,可以从以下几个方向开始使用 AI 办公系统。
1. 建立常用办公提示词
例如:
请根据以下内容生成一份正式会议纪要,要求结构清晰,包含会议主题、参会人员、讨论事项、决议事项和待办任务。
请帮我将下面这封邮件润色得更加专业、礼貌、简洁。
请根据以下产品信息生成一份销售话术,适合电话沟通场景。
2. 创建企业知识库
可以上传以下资料:
- 公司制度;
- 产品说明书;
- 售后 FAQ;
- 培训文档;
- 项目方案;
- 技术文档;
- 合同模板。
上传后,员工可以直接向知识库提问,减少重复沟通成本。
3. 设置不同角色权限
如果是团队使用,建议至少区分:
- 普通用户;
- 部门管理员;
- 系统管理员。
避免所有人都拥有后台配置权限。
4. 监控模型使用成本
如果使用第三方 API,需要关注:
- 每日调用量;
- Token 消耗;
- 用户使用频率;
- 高成本模型调用情况;
- 是否存在异常请求。
可以根据场景设置不同模型,例如普通文本使用低成本模型,复杂分析再使用高能力模型。
十七、总结
通过 Docker 部署 AI 办公平台,可以大幅降低安装和维护难度。整体流程可以概括为:
- 准备服务器;
- 安装 Docker;
- 创建部署目录;
- 编写
.env配置; - 编写
docker-compose.yml; - 执行
docker compose up -d; - 登录后台配置模型;
- 绑定域名并启用 HTTPS;
- 做好备份和安全加固。
对于个人用户来说,这套方案可以快速搭建自己的 AI 助手;对于团队和企业来说,它可以作为 AI 办公、知识库问答和智能写作的基础平台。后续你还可以继续扩展更多能力,例如接入本地大模型、企业微信机器人、飞书机器人、钉钉机器人、对象存储、统一身份认证以及内部文档系统等。
只要部署方式设计合理,AI 办公平台不仅可以提升工作效率,还能逐步沉淀企业内部知识,让 AI 真正融入日常办公流程。