当前位置: 首页 > news >正文

从零开始搭建你的私有手绘白板:Excalidraw部署实战指南

前言

在数字化协作日益普及的今天,一款简洁、直观的绘图工具对于团队沟通和个人创作都至关重要。Excalidraw作为一款开源的虚拟手绘白板应用,以其独特的手绘风格、轻量级设计和出色的协作功能,赢得了全球用户的青睐。无论是绘制技术架构图、流程图,还是进行头脑风暴和会议记录,它都能提供流畅自然的体验。

本文旨在为你提供一份真正从零开始的详细指南,帮助你在Linux服务器上部署属于自己的Excalidraw实例。通过私有化部署,你不仅可以确保数据安全,还能根据需求进行定制化配置,摆脱对第三方服务的依赖。我们将涵盖两种主流部署方案,并详细介绍如何配置远程访问,让你随时随地都能使用这个强大的绘图工具。

一、准备工作:

准备一台具备公网IP的云服务器(推荐使用雨云)

优惠注册地址:https://www.rainyun.com/sn_

使用优惠码:sn

注: 使用优惠码注册后绑定微信可领取5折优惠券

服务器选购步骤:

  1. 注册后,在"总览"页面找到"云服务器"入口,进入后点击"购买云服务器"

2.根据需求选择合适的配置,建议选择国内的服务器,访问更快,选好后点击立即购买即可


3.选好后进入控制台,使用SSH客户端远程连接服务器即可,SSH客户端建议选择FinalShell

二、方案一:Docker快速部署(推荐新手)

2.1 安装Docker环境

如果系统中尚未安装Docker,请按以下步骤操作:

# 更新软件包索引sudoapt-getupdate# 安装必要的依赖包sudoapt-getinstallca-certificatescurlgnupg# 创建密钥环目录sudoinstall-m 0755 -d /etc/apt/keyrings# 添加Docker官方GPG密钥curl-fsSL https://download.docker.com/linux/ubuntu/gpg|sudogpg --dearmor -o /etc/apt/keyrings/docker.gpgsudochmoda+r /etc/apt/keyrings/docker.gpg# 设置Docker存储库echo"deb [arch=$(dpkg --print-architecture)signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu$(./etc/os-release&&echo"$VERSION_CODENAME")stable"|sudotee/etc/apt/sources.list.d/docker.list>/dev/null# 再次更新软件包索引sudoapt-getupdate# 安装Docker引擎及相关组件sudoapt-getinstalldocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 验证安装是否成功sudodockerrun hello-world

如果看到“Hello from Docker!”的提示信息,说明Docker已正确安装。

国内用户加速提示:如果拉取镜像速度缓慢,可配置国内镜像源。创建或编辑/etc/docker/daemon.json文件,添加镜像加速器地址。

2.2 获取并运行Excalidraw容器

Docker部署的优势在于无需处理复杂的依赖关系,一行命令即可启动服务:

# 拉取最新版Excalidraw镜像sudodockerpull excalidraw/excalidraw# 创建并启动容器(将本地5000端口映射到容器80端口)sudodockerrun -d --name my-excalidraw -p5000:80 excalidraw/excalidraw

参数说明:

  • -d:后台运行容器
  • --name:为容器指定名称(此处为“my-excalidraw”)
  • -p 5000:80:将主机的5000端口映射到容器内的80端口

2.3 验证部署状态

容器启动后,可以通过以下命令检查运行状态:

# 查看运行中的容器sudodockerps# 查看容器日志(如果无法访问时用于排查问题)sudodockerlogs my-excalidraw

如果一切正常,现在你可以通过浏览器访问http://你的服务器IP:5000来使用Excalidraw了。

三、方案二:源码编译部署(适合定制化需求)

3.1 环境准备与依赖安装

源码部署需要先搭建Node.js开发环境:

# 安装Node.js(版本16.x或更高)curl-fsSL https://deb.nodesource.com/setup_16.x|sudo-Ebash-sudoapt-getinstall-y nodejs# 安装Git版本控制工具sudoapt-getinstall-ygit# 安装Yarn包管理器sudonpminstall-gyarn# 验证安装node--versionnpm--versionyarn--version

3.2 获取源码并构建应用

# 克隆Excalidraw官方仓库gitclone https://github.com/excalidraw/excalidraw.gitcdexcalidraw# 安装项目依赖(此过程可能需要一些时间)yarninstall# 构建生产版本yarnbuild

构建完成后,项目目录中会生成dist等输出文件夹,包含所有编译后的静态资源。

3.3 启动服务

你可以选择以下任意一种方式启动服务:

# 开发模式启动(默认端口3000,支持热重载)yarnstart# 指定端口启动PORT=8080yarnstart# 生产环境运行(需先执行构建)# 可以使用serve等静态服务器托管dist目录

现在访问http://你的服务器IP:3000即可使用Excalidraw。

四、基础配置与优化

4.1 Docker Compose管理(进阶)

对于长期使用的生产环境,建议使用Docker Compose进行服务管理:

# docker-compose.ymlversion:'3.8'services:excalidraw:image:excalidraw/excalidraw:latestcontainer_name:excalidrawports:-"5000:80"environment:-NODE_ENV=production-ALLOW_SAVE_URL=true# 允许将绘图数据保存到URL中restart:unless-stopped# 自动重启确保服务可用性

使用以下命令管理服务:

# 启动服务sudodocker-composeup -d# 查看服务状态sudodocker-composeps# 停止服务sudodocker-composedown

4.2 自定义配置选项

Excalidraw支持多种环境变量配置:

环境变量默认值说明
NODE_ENVproduction运行环境(production/development)
ALLOW_SAVE_URLfalse是否允许将绘图数据编码到URL中
FIREBASE_DATABASE_NAME-Firebase数据库名称(用于协作功能)
PORT80(容器内)服务监听端口

你可以根据需求在Docker运行命令或Compose文件中调整这些参数。

五、远程访问配置

5.1 防火墙配置

确保服务器防火墙允许访问Excalidraw服务端口:

# 如果使用UFW防火墙(Ubuntu)sudoufw allow5000/tcpsudoufw reload# 如果使用firewalld(CentOS/RHEL)sudofirewall-cmd --permanent --add-port=5000/tcpsudofirewall-cmd --reload

5.2 反向代理配置(推荐生产环境)

为提高安全性和可访问性,建议使用Nginx作为反向代理:

# /etc/nginx/sites-available/excalidraw server { listen 80; server_name whiteboard.yourdomain.com; # 改为你的域名 location / { proxy_pass http://localhost:5000; # 指向Excalidraw服务 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 $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # 支持WebSocket(未来协作功能) } }

启用站点并测试配置:

sudoln-s /etc/nginx/sites-available/excalidraw /etc/nginx/sites-enabled/sudonginx -tsudosystemctl reload nginx

5.3 HTTPS加密配置

为保护数据传输安全,建议配置SSL证书:

# 使用Certbot获取Let's Encrypt免费证书(需先配置好域名解析)sudoapt-getinstallcertbot python3-certbot-nginxsudocertbot --nginx -d whiteboard.yourdomain.com

Certbot会自动修改Nginx配置并设置自动续期。

六、使用技巧与高级功能

6.1 基本绘图功能

首次访问Excalidraw界面,你会看到简洁的工具栏:

  • 形状工具:矩形、圆形、菱形等基本几何图形
  • 绘图工具:自由画笔、直线、箭头等
  • 文本工具:添加标签和说明文字
  • 便签功能:创建彩色便签条突出重点

所有图形都带有独特的手绘风格,使图表显得亲切而不失专业。

6.2 协作功能配置(可选)

如果需要团队协作功能,可以配置Firebase集成:

  1. 访问Firebase控制台创建新项目

  2. 启用Firestore数据库(选择测试模式快速开始)

  3. 获取项目ID并更新环境变量:

    # docker-compose.yml更新部分environment:-FIREBASE_DATABASE_NAME=你的项目ID-FIREBASE_COLLECTION=rooms
  4. 重启服务后,界面底部会出现“协作”选项,可创建或加入协作房间。

6.3 数据备份与管理

由于基础部署不包含持久化存储,重要图表需要及时导出:

  1. 导出图像:PNG格式适合文档嵌入,SVG格式适合进一步编辑
  2. 保存为文件:.excalidraw格式保留所有图层和编辑信息
  3. URL共享:启用ALLOW_SAVE_URL后,可将整个绘图状态编码到链接中直接分享

结语

通过本文的指导,你应该已经成功部署了专属的Excalidraw白板服务。无论是个人使用还是小团队协作,私有化部署都为你提供了完全可控的绘图环境。

Excalidraw的魅力在于它平衡了功能性与易用性——没有复杂的学习曲线,却能满足大多数绘图需求。随着你对工具的熟悉,可以进一步探索它的高级功能,如图库集成、自定义组件等,让这个白板更好地服务于你的工作和创作。

私有部署的意义不仅在于数据自主权,更在于你可以根据自己的工作流程进行定制和集成。随着Excalidraw生态的不断发展,未来还会有更多扩展可能。现在,开始你的手绘创作之旅吧!

http://www.jsqmd.com/news/344367/

相关文章:

  • 主流质检相机选型对比(电子/五金/汽车产线)
  • 掌握大模型核心技术:从RAG到Agent架构,一文读懂AI技术发展脉络【建议收藏】
  • 电子配件流水线扫码+PLC联动上位机实战:C#完整落地方案
  • 程序员大模型转型指南:从基础到微调的完整学习路径!转AI大模型开发学习顺序真的很重要!!
  • 多线程调试技巧(C# / .NET 上位机开发专用)
  • 2026 年最值得使用的 7 款 PHP 管理后台框架推荐
  • 工业C#上位机界面卡顿终极解决方案:从“卡成PPT”到“丝滑如桌面”
  • 基础版与专业版有何不同?10款AI效率工具深度对比
  • 【Matlab】MATLAB矩阵特征值与特征向量详解:eig(A)用法、案例及系统特征分析应用
  • 【Matlab】MATLAB if分支语句详解:单/多条件判断案例及实战应用
  • P4820 [国家集训队] 书堆 题解
  • 【HarmonyOS】DAY13:Flutter电商实战:从零开发注册页面(含密码验证、确认密码完整实现)
  • 例说FPGA:可直接用于工程项目的第一手经验【2.9】
  • 东疆潮汐表查询2026-02-06
  • 中望3D2026摆正实体
  • WebSocket 从入门到实战
  • Windows2008R2 更新 必要补丁 不然不能更新
  • AI产品经理:小白也能掌握的高薪职业,未来5年最值得all in
  • AI大模型技术架构完全指南:从底层硬件到上层应用,8层体系详解,产品经理必备
  • 【防坑指南 | 可以不会不能不懂】现在混动和电动车各有什么优劣?
  • 春晚机器人“顶流”之争:从表演者到实用者的技术跃迁
  • 深入理解 Spring Boot Actuator:构建可观测性与运维友好的应用 - 实践
  • SEW变频器MCH42A0370-503-4-0T 08271682
  • Simple Markdown Editor:重新定义本地化写作体验的纯客户端编辑工具
  • 2026 ESG数据治理与碳成本管控:专业的全面预算管理系统生产厂家口碑排行榜 - 星野科技
  • 基于Java的建筑工程投标项目智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 2026协同效能驱动转型:诚信的全面预算管理系统生产厂家口碑推荐榜 - 星野科技
  • 基于Java的建筑工程监管智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • 2026年热门的地源热泵优质厂商精选推荐(口碑) - 品牌宣传支持者
  • 基于Java的建筑工程合同智慧管理系统的设计与实现全方位解析:附毕设论文+源代码