开源Docmost知识库管理工具
Docmost 是一个开源的在线文档协作和知识库工具,它特别适合团队用来写文档、分享知识、管理项目,支持多人同时编辑文档,评论超方便,还能像画画一样轻松插入各种流程图、表格啥的。
·
Docmost知识库管理工具
Docmost是什么
Docmost 是一个开源的协作 wiki 和文档软件。它是 Confluence 和 Notion 的开源替代方案。
官方文档:https://docmost.com/docs/
核心功能
- 主开发语言:主要使用 TypeScript 开发(性能好,扩展性强)
- 实时协作: 支持多人同时编辑文档,像 Google Docs 一样流畅。
- 可视化工具支持: 内置支持 Draw.io、Excalidraw、Mermaid 等画图工具,轻松制作专业文档。
- 权限管理: 可以灵活管理文档的访问权限,满足企业级安全需求。
- 全文搜索: 强大的搜索引擎让你秒找到需要的内容,再也不用翻半天。
- 文档历史记录: 支持版本管理,可以回溯任何时间段的文档内容。
- 多种嵌入功能: 能嵌入外部资源,比如 Airtable、Loom、Miro 等,让文档不仅是文字,还更直观。
- 文件附件: 方便上传和管理图片、PDF 等文件。
- 团队评论: 支持文档实时评论,提升团队沟通效率。
环境准备
安装Docker和Docker Compose
# 安装基础工具
yum install -y net-tools wget vim # 解决网络命令缺失问题
# 安装 Docker 及 Docker Compose
yum install -y docker
systemctl start docker && systemctl enable docker
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
Ubuntu docker 安装
# Add Docker's official GPG key:
sudo apt-get update -qqy
sudo apt-get install ca-certificates curl -qqy
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update -qqy
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -qqy
Docmost 部署流程常用
Docmost部分功能需要配置证书才有效,比如代码片段的复制。
- 流量走向: WAF → SLB(HTTPS) → 后端(HTTP 80)
- 用户浏览器 → WAF(HTTPS)
- WAF → SLB(HTTPS 或 HTTP)
- SLB → 后端服务器(80 或 443)
那么 只要 SLB → 后端是 HTTP(80):
后端服务器完全不需要证书!
目录结构
需要创建 docker-compose.yml 和.env以及deploy_docmost.sh 文件,存放至/opt/docmost/
/opt/docmost/
├── backups
├── data
│ └── storage
├── db_data
└── redis_data
配置目录
mkdir -p /opt/docmost
cd /opt/docmost
编写 docker-compose.yml
vim /opt/docmost/docker-compose.yml
services:
docmost:
image: docmost/docmost:latest
container_name: docmost
env_file: .env
depends_on:
- db
- redis
environment:
APP_URL: "http://localhost:3000"
APP_SECRET: ${APP_SECRET}
DATABASE_URL: ${DATABASE_URL}
REDIS_URL: ${REDIS_URL}
ports:
- "3000:3000"
user: "1000:1000"
volumes:
- ./data/storage:/app/data/storage
restart: unless-stopped
db:
image: postgres:16-alpine
container_name: docmost-db
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- ./db_data:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7.2-alpine
container_name: docmost-redis
volumes:
- ./redis_data:/data
restart: unless-stopped
编写环境变量
配置APP_SECRET密钥
openssl rand -hex 32 #保存下该密钥
vim /opt/docmost/.env
APP_SECRET=3d2cfc09eb8ac96e789df47bf8d2024284980dd655e3e5fbf16d4aef0a33a5e8
POSTGRES_PASSWORD=YourDBPassword
DATABASE_URL=postgresql://docmost:YourDBPassword@db:5432/docmost?schema=public
REDIS_URL=redis://redis:6379
STORAGE_PATH=/app/data/storage
UPLOADS_DIR=/app/data/storage
FILE_STORAGE=local
- 关键配置说明:
- APP_SECRET 必须使用长随机密钥,否则服务启动失败
- 数据库密码(POSTGRES_PASSWORD 和 DATABASE_URL)需设置为强密码且保持一致
配置部署脚本
vim deploy_docmost.sh
#!/bin/bash
echo "=== Docmost 托管部署脚本 ==="
BASE_DIR=/opt/docmost
cd $BASE_DIR || exit
echo "[1/5] 创建目录结构..."
mkdir -p data/storage db_data redis_data
echo "[2/5] 修复权限为 UID 1000..."
chown -R 1000:1000 data db_data redis_data
echo "[3/5] 确保 storage 正确挂载..."
if [ ! -d "data/storage" ]; then
mkdir -p data/storage
fi
chown -R 1000:1000 data/storage
echo "[4/5] 停止旧容器..."
docker-compose down
echo "[5/5] 启动新容器..."
docker-compose up -d
echo "=== 部署完成 ==="
echo "可访问 Docmost: http://<你的服务器IP>:3000"
确保三个文件在/opt/docmost
docker-compose.yml
.env
deploy_docmost.sh
chmod +x deploy_docmost.sh
./deploy_docmost.sh
配置邮件环境变量
新建用户当前只有通过邮件邀请
创建配置文件
cd /opt/docmost # 进入部署目录
vim .env # 创建环境变量文件
# .env 文件内容
APP_SECRET=3d2cfc09eb8ac96e789df47bf8d2024284980dd655e3e5fbf16d4aef0a33a5e8
POSTGRES_PASSWORD=YourDBPassword
DATABASE_URL=postgresql://docmost:YourDBPassword@db:5432/docmost?schema=public
REDIS_URL=redis://redis:6379
STORAGE_PATH=/app/data/storage
UPLOADS_DIR=/app/data/storage
FILE_STORAGE=local
MAIL_DRIVER=smtp
SMTP_HOST=smtp.qq.com
SMTP_PORT=465
SMTP_USERNAME=**2889@qq.com
SMTP_PASSWORD=radabsjjbha
SMTP_ENCRYPTION=ssl
SMTP_SECURE=true
SMTP_TLS_REJECT_UNAUTH=false
MAIL_FROM_ADDRESS=**2889@qq.com
MAIL_FROM_NAME=Docmost
chmod 600 /opt/docmost/.env
重启服务:
docker-compose down && docker-compose up -d
- 邮箱服务要求:
- Gmail/QQ邮箱需开启 SMTP 服务
- Gmail 需开启两步验证并创建应用密码
各组件作用
| 服务名 | 镜像 | 作用 |
|---|---|---|
| docmost | docmost/docmost:latest | 主应用服务,提供协作 Wiki 和文档功能。依赖数据库(db)和 Redis(redis)。 |
| db | postgres:16-alpine | PostgreSQL 数据库服务,存储用户数据、文档内容、权限等结构化数据。 |
| redis | redis:7.2-alpine | Redis 缓存服务,用于会话管理、临时数据存储和性能优化 |
初始化与访问
- 首次访问:
- 浏览器打开 http://<服务器IP>:3000,使用默认账号:
- 用户名:admin@example.com
- 密码:admin
- 浏览器打开 http://<服务器IP>:3000,使用默认账号:
- 强制修改密码:登录后进入 Settings > User Management,立即重置管理员密码
- 域名与 HTTPS 配置(可选):
- 修改 docker-compose.yml 中的 APP_URL 为域名(如 https://doc.yourdomain.com)。
- 通过 Nginx 反向代理配置 SSL 证书(推荐 Let’s Encrypt)
备份
完整备份脚本 (backup_docmost.sh)
vim backup_docmost.sh
#!/bin/bash
# Docmost 备份脚本
# 保存路径:/opt/docmost/backup_docmost.sh
set -e
BASE_DIR="/opt/docmost"
BACKUP_DIR="$BASE_DIR/backups"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
BACKUP_NAME="docmost_backup_$TIMESTAMP.tar.gz"
mkdir -p "$BACKUP_DIR"
echo "📦 开始备份 Docmost (时间: $TIMESTAMP)..."
# 停止容器以防写入冲突
echo "⏹️ 停止 Docmost docker-compose..."
cd $BASE_DIR
docker-compose down
echo "🗂️ 打包以下目录:"
echo " - data/"
echo " - db_data/"
echo " - redis_data/"
echo " - docker-compose.yml"
echo " - .env"
tar -czvf "$BACKUP_DIR/$BACKUP_NAME" \
data \
db_data \
redis_data \
docker-compose.yml \
.env
echo "▶️ 启动 docker-compose..."
docker-compose up -d
echo "✅ 备份完成:$BACKUP_DIR/$BACKUP_NAME"
sudo chmod +x /opt/docmost/backup_docmost.sh
执行备份
cd /opt/docmost
./backup_docmost.sh
备份文件位置
/opt/docmost/backups/docmost_backup_YYYYMMDD_HHMMSS.tar.gz
还原脚本 (restore_docmost.sh)
vim restore_docmost.sh
#!/bin/bash
# Docmost 恢复脚本
# 位置:/opt/docmost/restore_docmost.sh
set -e
if [ -z "$1" ]; then
echo "❗用法:$0 <备份文件路径>"
exit 1
fi
BACKUP_FILE=$1
BASE_DIR="/opt/docmost"
if [ ! -f "$BACKUP_FILE" ]; then
echo "❌ 备份文件不存在:$BACKUP_FILE"
exit 1
fi
echo "⛔ 停止 Docmost docker-compose..."
cd $BASE_DIR
docker-compose down
echo "🧹 清理原有数据目录..."
rm -rf data db_data redis_data
mkdir -p data db_data redis_data
echo "📦 解压备份..."
tar -xzvf "$BACKUP_FILE" -C "$BASE_DIR"
echo "▶️ 启动 Docmost..."
docker-compose up -d
echo "✅ 恢复完成!"
sudo chmod +x /opt/docmost/restore_docmost.sh
执行恢复
cd /opt/docmost
./restore_docmost.sh backups/docmost_backup_20250101_120000.tar.gz
安装验证以及升级
# 查看日志确认运行状态
docker-compose logs -f docmost
升级版本
docker pull docmost/docmost:latest
docker compose up --force-recreate --build docmost -d
高级配置与优化
- 空间与权限管理:
- 创建 Spaces 划分不同项目区域,设置细粒度权限(编辑/只读)
- 数据备份:
- 定期备份 /opt/docmost 目录下的 data、db_data、redis_data 卷。
- 常见问题解决:
- 容器启动失败:检查 APP_SECRET 格式(需 64 位十六进制字符串) 。
- 数据库连接错误:确认 DATABASE_URL 与 POSTGRES_PASSWORD 一致性。
- 端口冲突:若 3000 端口被占用,修改 ports 为 “新端口:3000”。
故障无法解决强制重建容器
docker-compose down --volumes --remove-orphans # 停止并删除旧容器
docker system prune -af # 清理旧容器缓存
docker-compose up -d --force-recreate # 重新构建启动
镜像拉取报错
如果镜像无法下载,调整docker 的镜像地址
{
"registry-mirrors": [
"https://dockerpull.com",
"https://dockerproxy.cn",
"https://docker.loli.voto",
"https://docker.chenby.cn",
"https://docker-cf.registry.cyou",
"https://docker.m.daocloud.io",
"https://docker.ketches.cn",
"https://docker.1panel.dev",
"https://docker.1panel.live",
"https://docker.rainbond.cc",
"https://hub.rat.dev",
"https://docker.aityp.com/",
"https://docker.catiz.eu.org/"
]
调整成中文
http://localhost:3000
编辑文档
访问该网站可使excel 生成markdown文本
https://tableconvert.com/excel-to-markdown
- 复制表格内容

- 粘贴到网站文本框里

- 下拉找到Markdown

- 粘贴到Docmost

- 生成表格

移除Docmost
#停止并删除 Docmost 所有容器
cd /opt/docmost
docker-compose down --remove-orphans
#删除 Docmost、Postgres、Redis、Nginx、Certbot 的容器和镜像
docker rm -f docmost docmost-postgres docmost-redis docmost-nginx docmost-certbot 2>/dev/null
#docker rmi docmost/docmost:latest postgres:15 redis:7 nginx:latest certbot/certbot 2>/dev/null
#删除所有 Docmost 数据目录
rm -rf /opt/docmost/data
rm -rf /opt/docmost/db_data
rm -rf /opt/docmost/redis_data
rm -rf /opt/docmost/nginx
rm -rf /opt/docmost/certbot
#删除 docker-compose.yml 和 .env
rm -f /opt/docmost/docker-compose.yml
rm -f /opt/docmost/.env
#最后移除整个 docmost 目录
rm -rf /opt/docmost
拓展 内网一键部署Docmost(自签名 HTTPS )
/opt/docmost
│
├── data/ # 📌 Docmost 所有持久化数据(最重要)
│ ├── postgres/ # PostgreSQL 数据库文件
│ ├── redis/ # Redis 缓存数据(可不备份)
│ └── storage/ # 📌 所有上传文件(图片、文档、附件)
│
├── cert/ # 内网自签名证书
│ ├── docmost.local.crt
│ └── docmost.local.key
│
├── docker-compose.yml # Docker 核心配置
├── nginx.conf # 反向代理、HTTPS、WebSocket 配置
│
├── docmost-install.sh # 你使用的一键部署脚本
├── backup_docmost.sh #(如果已添加)备份脚本
└── restore_docmost.sh #(如果已添加)恢复脚本
vim /opt/docmost-install.sh
配置域名为:docmost.local 也可以调整成你自己的
IP:192.168.40.133
#!/bin/bash
set -e
# ================================
# Docmost 内网版一键部署脚本(增强版)
# 支持:域名 HTTPS + IP HTTP 共存(均支持 WebSocket)
# 域名:docmost.local
# IP:192.168.40.133
# ================================
DOMAIN="docmost.local"
SERVER_IP="192.168.40.133"
BASE_DIR="/opt/docmost"
DATA_DIR="$BASE_DIR/data"
CERT_DIR="$BASE_DIR/cert"
echo "====================================="
echo "🚀 Docmost 内网部署开始"
echo "====================================="
# -------------------------------------
# 1. 安装 Docker(如果未安装)
# -------------------------------------
if ! command -v docker >/dev/null 2>&1 ; then
echo "[1/8] 安装 Docker..."
curl -fsSL https://get.docker.com | bash
else
echo "[1/8] Docker 已安装"
fi
# -------------------------------------
# 2. 安装 Docker Compose(如果未安装)
# -------------------------------------
if ! command -v docker compose >/dev/null 2>&1 ; then
echo "[2/8] 安装 Docker Compose..."
sudo apt-get update -y || true
sudo apt-get install -y docker-compose-plugin
else
echo "[2/8] Docker Compose 已安装"
fi
# -------------------------------------
# 3. 创建目录
# -------------------------------------
echo "[3/8] 创建目录..."
mkdir -p $DATA_DIR/postgres
mkdir -p $DATA_DIR/redis
mkdir -p $DATA_DIR/storage
mkdir -p $CERT_DIR
# -------------------------------------
# 4. 设置权限(Docmost 运行用户 UID=1000)
# -------------------------------------
echo "[4/8] 修复目录权限..."
chown -R 1000:1000 $DATA_DIR
chmod -R 775 $DATA_DIR
# -------------------------------------
# 5. 生成自签名证书
# -------------------------------------
echo "[5/8] 生成内网自签名证书..."
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout $CERT_DIR/$DOMAIN.key \
-out $CERT_DIR/$DOMAIN.crt \
-subj "/C=CN/ST=Intranet/L=LAN/O=Local/CN=$DOMAIN"
# -------------------------------------
# 6. 生成 docker-compose.yml
# -------------------------------------
echo "[6/8] 生成 docker-compose.yml ..."
cat > $BASE_DIR/docker-compose.yml <<EOF
version: "3.9"
services:
postgres:
image: postgres:15
container_name: docmost-postgres
restart: always
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: docmost_pass
volumes:
- $DATA_DIR/postgres:/var/lib/postgresql/data
redis:
image: redis:7
container_name: docmost-redis
restart: always
volumes:
- $DATA_DIR/redis:/data
docmost:
image: docmost/docmost:latest
container_name: docmost
restart: always
env_file:
- .env
depends_on:
- postgres
- redis
environment:
DATABASE_URL: postgres://docmost:docmost_pass@postgres:5432/docmost
REDIS_URL: redis://redis:6379
APP_SECRET: \${APP_SECRET}
SITE_URL: https://$DOMAIN
STORAGE_PATH: /app/data/storage
UPLOADS_DIR: /app/data/storage
FILE_STORAGE: local
ports:
- "3000:3000"
volumes:
- $DATA_DIR/storage:/app/data/storage
nginx:
image: nginx:latest
container_name: docmost-nginx
restart: always
depends_on:
- docmost
ports:
- "80:80"
- "443:443"
volumes:
- $CERT_DIR:/etc/nginx/cert
- $BASE_DIR/nginx.conf:/etc/nginx/nginx.conf
EOF
# -------------------------------------
# 7. 生成 nginx.conf(增强:IP 支持 WebSocket)
# -------------------------------------
echo "[7/8] 生成 nginx.conf ..."
cat > $BASE_DIR/nginx.conf <<EOF
# ================================
# Docmost 内网 Nginx 配置
# 域名:$DOMAIN
# IP:$SERVER_IP
# ================================
events {}
http {
# -------------------------------
# 1) IP 访问(HTTP + WebSocket 支持)
# -------------------------------
server {
listen 80;
server_name $SERVER_IP;
server_name_in_redirect off;
location / {
proxy_pass http://docmost: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;
# WebSocket 支持(新增)
proxy_http_version 1.1;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection "upgrade";
}
}
# -------------------------------
# 2) 域名 HTTP → 跳转 HTTPS
# -------------------------------
server {
listen 80;
server_name $DOMAIN;
return 302 https://$DOMAIN\$request_uri;
}
# -------------------------------
# 3) 域名 HTTPS(原有 WebSocket)
# -------------------------------
server {
listen 443 ssl http2;
server_name $DOMAIN;
ssl_certificate /etc/nginx/cert/$DOMAIN.crt;
ssl_certificate_key /etc/nginx/cert/$DOMAIN.key;
client_max_body_size 500M;
location / {
proxy_pass http://docmost: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 https;
proxy_http_version 1.1;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}
EOF
# -------------------------------------
# 8. 启动 Docmost
# -------------------------------------
echo "[8/8] 启动 Docmost..."
cd $BASE_DIR
export APP_SECRET=$(openssl rand -hex 32)
docker compose down || true
docker compose up -d
echo "====================================="
echo "🎉 Docmost 内网部署完成!"
echo "====================================="
echo "域名访问(HTTPS): https://$DOMAIN"
echo "IP 访问(HTTP+WebSocket): http://$SERVER_IP"
echo "证书路径:$CERT_DIR/$DOMAIN.crt"
echo "数据目录:$DATA_DIR"
echo "上传目录:$DATA_DIR/storage"
echo "APP_SECRET:$APP_SECRET"
echo "====================================="
运行安装
chmod +x /opt/docmost-install.sh
bash /opt/docmost-install.sh
- 安装完成后访问
- 你的 Windows / Mac hosts 文件中添加:
- 192.168.x.x www.docmost.com
- 然后浏览器打开:https://yourdomain.com
- 你的 Windows / Mac hosts 文件中添加:
备份
- 备份内容说明
- db.sql (完整 PostgreSQL 数据)
- storage.tar.gz(上传文档、图片、附件、封面等所有文件)
vim /opt/docmost/backup_docmost.sh
#!/bin/bash
set -e
BACKUP_DIR="/opt/docmost/backup"
DATA_DIR="/opt/docmost/data"
TIMESTAMP=$(date +"%Y%m%d-%H%M%S")
BACKUP_FILE="$BACKUP_DIR/docmost-backup-$TIMESTAMP.tar.gz"
echo "====================================="
echo "📦 Docmost 备份开始:$TIMESTAMP"
echo "====================================="
mkdir -p $BACKUP_DIR
POSTGRES="docmost-postgres"
REDIS="docmost-redis"
DOCMOST="docmost"
echo "[1/5] 暂停 Docmost 应用以防止写入(不停止数据库)..."
# 仅停止 docmost(应用),不要停止 postgres
docker stop $DOCMOST >/dev/null || true
docker stop $REDIS >/dev/null || true
echo "[2/5] 导出 PostgreSQL 数据库..."
docker exec $POSTGRES pg_dump -U docmost docmost > $BACKUP_DIR/db.sql
echo "[3/5] 打包 storage 文件..."
tar -czf $BACKUP_DIR/storage.tar.gz -C $DATA_DIR storage
echo "[4/5] 打包最终备份包..."
tar -czf $BACKUP_FILE -C $BACKUP_DIR db.sql storage.tar.gz
echo "[5/5] 重启 Docmost..."
docker start $POSTGRES $REDIS $DOCMOST >/dev/null || true
echo "====================================="
echo "🎉 Docmost 备份完成"
echo "备份文件:$BACKUP_FILE"
echo "====================================="
chmod +x backup_docmost.sh
手动备份
cd /opt/docmost
./backup_docmost.sh
备份文件位置
/opt/docmost/backup
├── db.sql
├── docmost-backup-20251126-165758.tar.gz
└── storage.tar.gz
恢复
vim /opt/docmost/restore_docmost.sh
#!/bin/bash
set -e
if [ -z "$1" ]; then
echo "❌ 使用方法:$0 <备份文件路径>"
echo "例如:$0 /opt/docmost/backup/docmost-backup-20251126-120000.tar.gz"
exit 1
fi
BACKUP_FILE="$1"
BASE_DIR="/opt/docmost"
DATA_DIR="$BASE_DIR/data"
POSTGRES="docmost-postgres"
REDIS="docmost-redis"
DOCMOST="docmost"
WORK_DIR="/tmp/docmost-restore"
rm -rf $WORK_DIR
mkdir -p $WORK_DIR
echo "====================================="
echo "♻️ Docmost 恢复开始"
echo "备份文件:$BACKUP_FILE"
echo "====================================="
if [ ! -f "$BACKUP_FILE" ]; then
echo "❌ 找不到备份文件:$BACKUP_FILE"
exit 1
fi
echo "[1/6] 解压备份包..."
tar -xzf $BACKUP_FILE -C $WORK_DIR
if [ ! -f "$WORK_DIR/db.sql" ]; then
echo "❌ 备份包缺少 db.sql,无法恢复数据库"
exit 1
fi
if [ ! -f "$WORK_DIR/storage.tar.gz" ]; then
echo "❌ 备份包缺少 storage.tar.gz"
exit 1
fi
echo "[2/6] 停止 Docmost 相关容器..."
docker stop $DOCMOST >/dev/null || true
docker stop $REDIS >/dev/null || true
docker stop $POSTGRES >/dev/null || true
echo "[3/6] 清空 PostgreSQL 数据目录(非常重要)..."
rm -rf $DATA_DIR/postgres/*
mkdir -p $DATA_DIR/postgres
echo "➡️ 重新启动 PostgreSQL 空库..."
docker start $POSTGRES >/dev/null
echo "等待 PostgreSQL 启动..."
sleep 5
echo "[4/6] 恢复数据库..."
docker exec -i $POSTGRES psql -U docmost docmost < $WORK_DIR/db.sql
echo "[5/6] 恢复 storage 用户上传文件..."
rm -rf $DATA_DIR/storage
mkdir -p $DATA_DIR/storage
tar -xzf $WORK_DIR/storage.tar.gz -C $DATA_DIR
echo "[6/6] 重启所有 Docmost 服务..."
docker start $REDIS $DOCMOST >/dev/null || true
echo "====================================="
echo "🎉 Docmost 恢复完成!"
echo "====================================="
echo "📌 数据库已恢复"
echo "📌 上传文件已恢复"
echo "📌 服务已重新启动"
echo "====================================="
chmod +x restore_docmost.sh
恢复备份
cd /opt/docmost
./restore.sh /opt/docmost/backup/docmost-backup-20251126-140000.tar.gz
邮件
vim /opt/docmost/.env
MAIL_DRIVER=smtp
SMTP_HOST=smtp.qq.com
SMTP_PORT=465
SMTP_USERNAME=**2889@qq.com
SMTP_PASSWORD=radabsjjbha
SMTP_ENCRYPTION=ssl
SMTP_SECURE=true
SMTP_TLS_REJECT_UNAUTH=false
MAIL_FROM_ADDRESS=**2889@qq.com
MAIL_FROM_NAME=Docmost
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐

所有评论(0)