
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Paperless-ngx 值得拥有的AI助手。
单一容器内实现自动文档分析、智能元数据提取、语义搜索和合同管理。
docker-compose.yml 和 .env).env 中填写密钥信息bashdocker compose up -d
http://<主机>:8080 并创建第一个管理员用户服务栈包含:
paperless-ai(本镜像)— 8080端口提供API和前端postgres:16-alpine — 应用数据库qdrant/qdrant — 用于RAG/语义搜索的向量数据库datalust/seq — 结构化日志(可选)| 标签 | 描述 |
|---|---|
latest | 最新稳定版本 |
x.y.z | 固定语义化版本(生产环境推荐) |
可通过 .env 中的 PAPERLESS_AI_VERSION 指定特定版本。
docker-compose.ymlyamlservices: postgres: image: postgres:16-alpine container_name: paperless-ai-postgres restart: unless-stopped environment: POSTGRES_DB: paperless_ai POSTGRES_USER: paperless_ai POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - postgres_data:/var/lib/postgresql/data networks: - paperless-ai healthcheck: test: ["CMD-SHELL", "pg_isready -U paperless_ai -d paperless_ai"] interval: 10s timeout: 5s retries: 5 start_period: 10s qdrant: image: qdrant/qdrant:latest container_name: paperless-ai-qdrant restart: unless-stopped # 安全提示:Qdrant 没有内置身份验证。 # 仅本地调试时取消注释,切勿暴露到互联网。 # ports: # - "127.0.0.1:6333:6333" # - "127.0.0.1:6334:6334" volumes: - qdrant_data:/qdrant/storage networks: - paperless-ai healthcheck: test: ["CMD-SHELL", "timeout 1 bash -c '</dev/tcp/localhost/6333' || exit 1"] interval: 10s timeout: 5s retries: 5 start_period: 10s seq: image: datalust/seq:latest container_name: paperless-ai-seq restart: unless-stopped # Seq 控制台:本地访问时取消注释。远程访问使用SSH隧道。 # ports: # - "127.0.0.1:5341:80" environment: ACCEPT_EULA: "Y" SEQ_FIRSTRUN_ADMINPASSWORD: ${SEQ_ADMIN_PASSWORD} volumes: - seq_data:/data networks: - paperless-ai healthcheck: test: ["CMD", "curl", "-f", "http://localhost/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s paperless-ai: image: luv2codedotnet/paperless-ai:${PAPERLESS_AI_VERSION:-latest} container_name: paperless-ai restart: unless-stopped ports: - "8080:8080" stop_grace_period: 30s networks: - paperless-ai environment: - ASPNETCORE_ENVIRONMENT=Production - ASPNETCORE_URLS=http://+:8080 - ConnectionStrings__DefaultConnection=Host=postgres;Database=paperless_ai;Username=paperless_ai;Password=${POSTGRES_PASSWORD} - Jwt__Secret=${JWT__SECRET} - Jwt__Issuer=PaperlessAI - Jwt__Audience=PaperlessAI - Jwt__AccessTokenExpirationMinutes=15 - Jwt__RefreshTokenExpirationDays=7 - Encryption__Key=${ENCRYPTION__KEY} - Qdrant__Url=http://qdrant:6333 - Serilog__WriteTo__1__Args__serverUrl=http://seq - Paperless__Url=${PAPERLESS__URL} - Paperless__Token=${PAPERLESS__TOKEN} - Urls__PublicUrl=${URLS__PUBLICURL} depends_on: postgres: condition: service_healthy qdrant: condition: service_healthy seq: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 10s timeout: 5s retries: 5 start_period: 30s networks: paperless-ai: name: paperless-ai volumes: postgres_data: name: paperless-ai-postgres-data qdrant_data: name: paperless-ai-qdrant-data seq_data: name: paperless-ai-seq-data
.env使用 openssl rand -base64 32 生成强密钥,并在首次启动前替换占位符。
env# Docker镜像标签(使用"latest"或固定特定版本) PAPERLESS_AI_VERSION=latest # PostgreSQL密码(至少16个字符;首次启动后不易更改) POSTGRES_PASSWORD=change-me-openssl-rand-base64-24 # JWT签名密钥(至少32个字符;更改会使所有会话失效) JWT__SECRET=change-me-openssl-rand-base64-32 # 用于存储API密钥/Paperless令牌/OIDC密钥的AES-256加密密钥 # 32字节,Base64编码。更改会导致现有密钥无法读取。 ENCRYPTION__KEY=change-me-openssl-rand-base64-32 # 用户在浏览器中输入的公共URL(用于CORS和OIDC重定向) # 必须与浏览器显示完全一致,非标准端口需包含端口号 URLS__PUBLICURL=https://paperless-ai.example.com # Paperless-ngx连接(从容器内部可访问 — 非localhost) PAPERLESS__URL=http://paperless:8000 PAPERLESS__TOKEN=your-paperless-admin-api-token # 可选:Seq日志查看器的管理员密码 # SEQ_ADMIN_PASSWORD=admin
| 变量 | 用途 |
|---|---|
POSTGRES_PASSWORD | 捆绑PostgreSQL的密码。使用≥16个字符。之后更改需要重置数据库。 |
JWT__SECRET | 身份验证令牌签名密钥。至少32个字符。更改会使所有会话失效。 |
ENCRYPTION__KEY | AES-256密钥(32字节,Base64),用于加密AI API密钥、Paperless令牌、OIDC密钥。更改会导致现有加密设置无法读取 — 用户需重新输入API密钥。 |
URLS__PUBLICURL | 用户在浏览器中输入的公共URL(例如 https://paperless-ai.example.com)。用于CORS和OIDC重定向 — 必须与浏览器显示完全一致。 |
PAPERLESS__URL | Paperless-ngx实例的URL,从容器内部可访问。使用服务名称(http://paperless:8000)或 http://host.docker.internal:8000。不可用 localhost。 |
PAPERLESS__TOKEN | Paperless-ngx的管理员(超级用户)API令牌。用于系统级任务(收件箱同步、嵌入、用户映射)。用户可在个人资料中使用自己的令牌覆盖。 |
| 变量 | 默认值 | 用途 |
|---|---|---|
PAPERLESS_AI_VERSION | latest | 要拉取的Docker镜像标签。 |
SEQ_ADMIN_PASSWORD | admin | Seq日志查看器的管理员密码(当5341端口暴露时)。 |
| 端口 | 服务 |
|---|---|
8080 | Web UI + REST API |
命名卷(需备份以保留数据):
paperless-ai-postgres-data — 应用数据库paperless-ai-qdrant-data — 向量嵌入paperless-ai-seq-data — 日志PAPERLESS__TOKEN 必须属于Paperless-ngx的超级用户:
bashdocker exec paperless python manage.py generate_token <管理员用户名>
或通过Paperless-ngx的Django管理界面:设置 → Django管理 → 令牌。
© Digital B - IT Consulting GmbH
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务