手把手教你用Docker私有化部署企业级设计协同系统,2种主流方式实操对比
设计文件在产品研发链路里不只是图片,它承载了需求、交互、组件规范和业务信息。放在公有云上,数据主权和合规是绕不开的问题。Gartner报告显示中国企业在这块的优先级两年提升了47%,加上信创政策推进,私有化部署已经从可选项变成很多组织的必选项。
好消息是Docker已经把这件事的工程门槛降得很低了。不管是一站式平台还是开源工具,现在都能通过容器化方式快速在内网跑起来。

一、系统架构拆解
一套完整的设计协同系统至少包含这些服务:
设计编辑器服务:用户直接操作的界面渲染和交互处理
实时协同服务:WebSocket驱动的增量同步和Presence状态
身份认证服务:用户管理、组织架构、RBAC权限
文件存储服务:设计源文件、素材、版本历史的持久化
导出渲染服务:设计稿转CSS/iOS/Android代码、切图生成
管理后台服务:审计日志、效能统计、系统配置
Docker Compose用一份YAML定义这些服务的依赖关系、网络和数据卷。规模大的时候切到Kubernetes做弹性扩缩。Pixso和Penpot的私有化本质上都是这个套路。

二、Pixso私有化部署路线
Pixso是博思云创的国产设计协作平台,私有化走厂商定向交付。镜像、Compose配置、初始化脚本由Pixso团队提供,企业侧主要做环境准备和需求对齐。

单体部署(百人以内团队):
# Pixso 单体部署典型配置结构# 由厂商提供完整 docker-compose.ymlversion: '3.8'services:pixso-web:image: pixso/pixso-web:{版本号}ports:- "80:80"- "443:443"pixso-api:image: pixso/pixso-api:{版本号}environment:- DATABASE_URL=postgresql://...- REDIS_URL=redis://...pixso-realtime:image: pixso/pixso-rt:{版本号}pixso-exporter:image: pixso/pixso-exporter:{版本号}postgres:image: postgres:15volumes:- pgdata:/var/lib/postgresql/data
redis:image: redis:7-alpine
minio:image: minio/minio
volumes:- s3data:/data
实际配置由厂商定向提供,上述仅为结构示意。企业只需准备Linux服务器,安装Docker和Docker Compose,执行厂商提供的初始化脚本即可。
集群部署(中大型企业):基于Kubernetes编排,各服务独立扩缩容,数据库主从高可用,文件存储对接企业级对象存储。

准备服务器环境(CPU/内存/磁盘/网络)
与厂商对齐需求(团队规模、并发量、安全等级、账号对接)
配合完成初始化配置和上线验证
后续由厂商主导运维,企业侧按需使用管理后台
自带的企业级功能:资源库管理、空间隔离、精细化权限、效能看板。
有信创/等保合规要求的金融、政企、医疗、教育机构
需要打通产设研全流程协同的组织
从Figma迁移、需要技术支持降低切换成本的团队
有定制化集成需求的客户
公开案例:南方基金部署后协作效率提升80%,主要消除了Sketch文件反复传输和版本管理混乱的问题。
三、Penpot开源自托管路线
Penpot由Kaleidos团队开发,MPL 2.0开源,海外开源设计工具里成熟度最高的一批。

# 创建项目目录mkdir -p ~/penpot && cd ~/penpot
# 获取官方 docker-compose 文件wget /penpot/penpot/main/docker/images/docker-compose
# 启动服务栈docker compose -p penpot -f docker-compose up -d
服务默认监听 localhost:9001,首次启动等3-5分钟完成数据库初始化。
生产环境固定版本:
PENPOT_VERSION=2.4.3 docker compose -p penpot -f docker-compose up -d
Compose文件已编排的服务:
penpot-frontend:前端Nginx服务
penpot-backend:后端API服务
penpot-exporter:导出渲染服务
postgres:PostgreSQL数据库
valkey:缓存服务(Redis替代方案)
HTTPS + 反向代理
Penpot生产环境强制HTTPS,否则浏览器限制剪贴板等API。以下是用Nginx的示例配置:
server {listen 443 ssl http2;server_name design.yourcompany.com;ssl_certificate /path/to/cert.pem;ssl_certificate_key /path/to/key.pem;location / {proxy_pass http://localhost:9001;proxy_set_header Host remote_addr;}# WebSocket 转发必须配,实时协同依赖这个location /ws/notifications {proxy_pass http://localhost:9001;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}}
官方也提供了Caddy和Traefik的配置示例。
SMTP 邮件
在 .env 或Compose环境变量中配置:
PENPOT_SMTP_ENABLED=true
PENPOT_SMTP_DEFAULT_FROM=noreply@yourcompany.com
PENPOT_SMTP_HOST=smtp.yourcompany.com
PENPOT_SMTP_PORT=587PENPOT_SMTP_USERNAME=your-smtp-user
PENPOT_SMTP_PASSWORD=your-smtp-password
PENPOT_SMTP_TLS=true
数据备份脚本
#!/bin/bash# backup-penpot.sh - 建议加入 crontab 每日执行BACKUP_DIR="/backup/penpot/$(date +%Y%m%d)"mkdir -p "$BACKUP_DIR"# 数据库逻辑备份docker exec penpot-postgres-1 pg_dump -U penpot penpot > "$BACKUP_DIR/penpot.sql"# 文件备份tar czf "$BACKUP_DIR/assets.tar.gz" /var/lib/penpot/assets/
# 保留最近30天备份find /backup/penpot -type d -mtime +30 -exec rm -rf {} +
安全加固
内网部署:零信任网关控制访问
公网暴露:配置SSO或强密码策略
Docker层面只暴露80/443,其余端口绑内部网络
定期更新镜像版本,关注安全公告
原生SVG格式,Git友好,可用文本编辑器打开
2.0版本支持CSS Grid,2.5版本兼容W3C Design Tokens标准
核心功能覆盖Figma约90%
插件生态约80个,与Figma的5000+存在数量级差距
中文本地化体验一般,企业级权限管理基础
信创适配需自行解决
四、两条Docker部署路线对比

五、部署前的检查清单

六、写在最后
几十人团队,有Docker运维经验,预算敏感,没有信创硬指标 → Penpot是低成本的验证选项,半天跑起来,零授权费。
中大型企业,金融/政企/制造/教育行业,要过等保信创,要组织级管理 → Pixso厂商交付更稳,买的是打包的合规、管理和长期保障。
双轨制也是个思路:核心部门用Pixso保安全,创新团队用Penpot探索灵活性。不管选哪个,Docker都是当下最务实的底座。
建议带一张需求清单(团队规模、并发、安全等级、账号体系、预算)去跟两边对接团队聊,通常一周内有清晰落地方案。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)