
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像基于 Excalidraw 开源项目(https://github.com/alswl/excalidraw-collaboration%EF%BC%89%E6%9E%84%E5%BB%BA%EF%BC%8C%E6%98%AF%E5%85%B6%E5%88%86%E6%94%AF%E7%89%88%E6%9C%AC%EF%BC%8C%E6%A0%B8%E5%BF%83%E7%89%B9%E6%80%A7%E4%B8%BA%E9%9B%86%E6%88%90%E8%87%AA%E6%89%98%E7%AE%A1%E5%AD%98%E5%82%A8%E5%8A%9F%E8%83%BD%E3%80%82Excalidraw 是一款轻量级协作绘图工具,支持手绘风格图形绘制,本镜像在此基础上解决了原生版本依赖第三方存储的问题,允许用户将绘图数据存储在本地或自定义服务器环境中,适用于需要数据本地化、隐私保护或自定义存储配置的协作场景。
| 场景类型 | 适用说明 |
|---|---|
| 企业/团队内部协作 | 需保护知识产权或敏感数据的团队,如产品设计、架构绘图、项目流程图协作 |
| 教育机构 | 师生协作绘图教学,数据本地存储避免外部服务依赖 |
| 隐私敏感场景 | ***、***等对数据隐私要求高的领域,确保绘图数据不经过第三方服务器 |
| 个人自托管 | 技术爱好者搭建个人协作绘图工具,自定义存储策略和访问控制 |
从 Docker Hub 或 GitHub Container Registry 拉取镜像(具体镜像名称以项目实际发布为准,此处假设镜像标签为 alswl/excalidraw-collaboration:latest):
bashdocker pull alswl/excalidraw-collaboration:latest
通过 docker run 命令快速启动容器,映射端口并挂载存储卷以持久化数据:
bashdocker run -d \ --name excalidraw-selfhosted \ -p 8080:8080 \ -v ./excalidraw-data:/app/storage \ # 挂载本地目录作为存储卷,持久化数据 -e PORT=8080 \ # 应用监听端口(需与容器端口映射一致) -e STORAGE_TYPE=local \ # 存储类型,可选 local 或其他支持的存储后端 -e STORAGE_PATH=/app/storage \ # 存储路径(容器内路径,需与挂载卷对应) --restart unless-stopped \ alswl/excalidraw-collaboration:latest
参数说明:
-p 8080:8080:端口映射(宿主机端口:容器内端口)-v ./excalidraw-data:/app/storage:挂载宿主机目录 ./excalidraw-data 到容器内 /app/storage,用于持久化存储绘图数据--restart unless-stopped:容器退出时自动重启(除非手动停止)以下为常用环境变量(具体以项目实际支持为准,可参考 https://github.com/alswl/excalidraw-collaboration 文档):
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
PORT | 应用监听端口 | 8080 |
STORAGE_TYPE | 存储类型,支持 local(本地文件)等 | local |
STORAGE_PATH | 存储路径(容器内绝对路径) | /app/storage |
DATABASE_URL | 数据库连接 URL(若使用数据库存储) | (无,需手动配置) |
LOG_LEVEL | 日志级别(info/debug/warn) | info |
CORS_ALLOWED_ORIGINS | 允许跨域访问的源(逗号分隔) | *(开发环境,生产环境建议限制) |
对于复杂场景(如需集成数据库),可使用 docker-compose.yml 管理服务:
yamlversion: '3.8' services: excalidraw: image: alswl/excalidraw-collaboration:latest container_name: excalidraw-selfhosted ports: - "8080:8080" volumes: - ./excalidraw-data:/app/storage # 本地存储卷 environment: - PORT=8080 - STORAGE_TYPE=local - STORAGE_PATH=/app/storage - LOG_LEVEL=info restart: unless-stopped # (可选)若使用数据库存储,可添加数据库服务(如 PostgreSQL) # db: # image: postgres:14 # volumes: # - postgres-data:/var/lib/postgresql/data # environment: # - POSTGRES_PASSWORD=excalidraw_db_pass # - POSTGRES_USER=excalidraw_db_user # - POSTGRES_DB=excalidraw_db # restart: unless-stopped # volumes: # postgres-data: # 数据库数据卷(若启用数据库服务)
启动命令:
bashdocker-compose up -d
容器启动后,通过浏览器访问 http://<宿主机IP>:8080 即可打开 Excalidraw 应用。首次访问无需注册,直接创建绘图并自动保存至自托管存储。
为避免数据丢失,需定期备份挂载的存储卷目录(如 ./excalidraw-data)。迁移时,将备份目录复制到新服务器,重新挂载即可恢复数据。
./excalidraw-data)权限正确(建议设置 755,避免容器内权限不足)CORS_ALLOWED_ORIGINS,并通过反向代理(如 Nginx)配置 HTTPSDATABASE_URL 环境变量(格式参考数据库文档)您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 alswl/excalidraw 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: