
pubuzhixing/drawnixOpenWhiteboard 是一款开源的一体化在线白板工具(SaaS),提供可视化协作平台,支持思维导图、流程图、自由绘图等多种创作形式。该 Docker 镜像封装了完整的应用服务,可快速部署至本地服务器或云环境,无需复杂依赖配置。
| 场景类型 | 应用示例 |
|---|---|
| 团队协作 | 项目启动会头脑风暴、敏捷迭代规划、跨部门需求对齐 |
| 教育培训 | 课堂知识点梳理、学生小组协作作业、线上教学板书 |
| 产品设计 | 用户画像绘制、功能原型草图、用户旅程图设计 |
| 个人使用 | 读书笔记整理、旅行计划规划、个人目标分解(如 OKR 可视化) |
docker run 快速部署bashdocker run -d \ --name openwhiteboard \ -p 8080:80 \ # 主机端口:容器内端口(容器内默认 80) -v /opt/openwhiteboard/data:/app/data \ # 挂载数据卷(持久化白板内容、用户配置等) -e ADMIN_EMAIL="***" \ # 管理员***(首次登录账号) -e ADMIN_PASSWORD="SecurePass123!" \ # 管理员密码(需 ≥8 位,含大小写+数字) -e LOG_LEVEL="info" \ # 日志级别(debug/info/warn/error,默认 info) openwhiteboard:latest
若需使用 MySQL/PostgreSQL 作为外部数据库(适用于生产环境),需额外配置数据库连接参数:
bashdocker run -d \ --name openwhiteboard \ -p 8080:80 \ -v /opt/openwhiteboard/data:/app/data \ -e ADMIN_EMAIL="***" \ -e ADMIN_PASSWORD="SecurePass123!" \ -e DB_TYPE="mysql" \ # 数据库类型:mysql/postgres(默认 sqlite) -e DB_HOST="mysql-server" \ # 数据库主机地址(需与容器网络互通) -e DB_PORT="3306" \ # 数据库端口(mysql 默认 3306,postgres 默认 5432) -e DB_USER="whiteboard_user" \ # 数据库用户名 -e DB_PASSWORD="db-pass-123" \ # 数据库密码 -e DB_NAME="openwhiteboard" \ # 数据库名称(需提前创建) openwhiteboard:latest
docker-compose 部署创建 docker-compose.yml 文件:
yamlversion: '3.8' services: openwhiteboard: image: openwhiteboard:latest container_name: openwhiteboard restart: always # 容器退出后自动重启 ports: - "8080:80" # 主机端口映射 volumes: - ./data:/app/data # 相对路径挂载数据卷(当前目录下 data 文件夹) environment: - ADMIN_EMAIL=*** # 管理员***(必填) - ADMIN_PASSWORD=SecurePass123! # 管理员密码(必填) - PORT=80 # 容器内服务端口(默认 80,可自定义) - DATA_DIR=/app/data # 数据存储目录(默认 /app/data) - LOG_LEVEL=info # 日志级别 - ENABLE_REGISTRATION=true # 是否允许普通用户注册(默认 true)
启动服务:
bashdocker-compose up -d # 后台启动 docker-compose logs -f # 查看实时日志(确认服务启动成功)
若需使用外部数据库,可在 docker-compose.yml 中添加 MySQL 服务:
yamlversion: '3.8' services: openwhiteboard: image: openwhiteboard:latest container_name: openwhiteboard restart: always ports: - "8080:80" volumes: - ./data:/app/data environment: - ADMIN_EMAIL=*** - ADMIN_PASSWORD=SecurePass123! - DB_TYPE=mysql - DB_HOST=mysql # 与下方 MySQL 服务名一致 - DB_PORT=3306 - DB_USER=whiteboard_user - DB_PASSWORD=db-pass-123 - DB_NAME=openwhiteboard depends_on: - mysql # 依赖 MySQL 服务启动后再启动应用 mysql: image: mysql:8.0 container_name: openwhiteboard-mysql restart: always environment: - MYSQL_ROOT_PASSWORD=root-pass-123 - MYSQL_DATABASE=openwhiteboard # 预创建数据库 - MYSQL_USER=whiteboard_user - MYSQL_PASSWORD=db-pass-123 volumes: - ./mysql-data:/var/lib/mysql # 持久化 MySQL 数据
| 环境变量名 | 描述 | 默认值 | 是否必填 |
|---|---|---|---|
ADMIN_EMAIL | 管理员登录*** | - | 是 |
ADMIN_PASSWORD | 管理员密码(≥8位,含大小写+数字) | - | 是 |
PORT | 容器内服务端口 | 80 | 否 |
DATA_DIR | 应用数据存储目录(含用户配置、缓存) | /app/data | 否 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info | 否 |
ENABLE_REGISTRATION | 是否允许普通用户注册 | true | 否 |
MAX_USERS | 最大并发在线用户数(0 为不限制) | 0 | 否 |
DB_TYPE | 数据库类型(sqlite/mysql/postgres) | sqlite | 否 |
DB_HOST | 外部数据库主机地址(DB_TYPE 非 sqlite 时需填) | - | 否 |
DB_PORT | 外部数据库端口 | 3306 (mysql)/5432 (postgres) | 否 |
DB_USER | 外部数据库用户名 | - | 否 |
DB_PASSWORD | 外部数据库密码 | - | 否 |
DB_NAME | 外部数据库名称 | openwhiteboard | 否 |
应用数据(白板内容、用户配置、数据库文件等)默认存储于容器内 /app/data 目录,需通过 Docker 数据卷挂载至主机目录(如 ./data:/app/data),避免容器重建后数据丢失。
部署完成后,通过浏览器访问 http://<主机IP>:<映射端口>(如 [***]),使用配置的 ADMIN_EMAIL 和 ADMIN_PASSWORD 登录管理员账号,即可创建白板并开始使用。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务