设计文件在产品研发链路里不只是图片,它承载了需求、交互、组件规范和业务信息。放在公有云上,数据主权和合规是绕不开的问题。Gartner报告显示中国企业在这块的优先级两年提升了47%,加上信创政策推进,私有化部署已经从可选项变成很多组织的必选项。

好消息是Docker已经把这件事的工程门槛降得很低了。不管是一站式平台还是开源工具,现在都能通过容器化方式快速在内网跑起来。

一、系统架构拆解

一套完整的设计协同系统至少包含这些服务:

设计编辑器服务:用户直接操作的界面渲染和交互处理

实时协同服务:WebSocket驱动的增量同步和Presence状态

身份认证服务:用户管理、组织架构、RBAC权限

文件存储服务:设计源文件、素材、版本历史的持久化

导出渲染服务:设计稿转CSS/iOS/Android代码、切图生成

管理后台服务:审计日志、效能统计、系统配置

Docker Compose用一份YAML定义这些服务的依赖关系、网络和数据卷。规模大的时候切到Kubernetes做弹性扩缩。Pixso和Penpot的私有化本质上都是这个套路。

二、Pixso私有化部署路线

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

2.1 部署架构

单体部署(百人以内团队):

# 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编排,各服务独立扩缩容,数据库主从高可用,文件存储对接企业级对象存储。

2.2 企业侧要做什么

准备服务器环境(CPU/内存/磁盘/网络)

与厂商对齐需求(团队规模、并发量、安全等级、账号对接)

配合完成初始化配置和上线验证

后续由厂商主导运维,企业侧按需使用管理后台

自带的企业级功能:资源库管理、空间隔离、精细化权限、效能看板。

2.3 适合场景

有信创/等保合规要求的金融、政企、医疗、教育机构

需要打通产设研全流程协同的组织

从Figma迁移、需要技术支持降低切换成本的团队

有定制化集成需求的客户

公开案例:南方基金部署后协作效率提升80%,主要消除了Sketch文件反复传输和版本管理混乱的问题。

三、Penpot开源自托管路线

Penpot由Kaleidos团队开发,MPL 2.0开源,海外开源设计工具里成熟度最高的一批。

3.1 快速部署

# 创建项目目录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替代方案)

3.2 生产环境必做配置

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,其余端口绑内部网络

定期更新镜像版本,关注安全公告

3.3 技术特点

原生SVG格式,Git友好,可用文本编辑器打开

2.0版本支持CSS Grid,2.5版本兼容W3C Design Tokens标准

核心功能覆盖Figma约90%

插件生态约80个,与Figma的5000+存在数量级差距

中文本地化体验一般,企业级权限管理基础

信创适配需自行解决

四、两条Docker部署路线对比

五、部署前的检查清单

六、写在最后

几十人团队,有Docker运维经验,预算敏感,没有信创硬指标 → Penpot是低成本的验证选项,半天跑起来,零授权费。

中大型企业,金融/政企/制造/教育行业,要过等保信创,要组织级管理 → Pixso厂商交付更稳,买的是打包的合规、管理和长期保障。

双轨制也是个思路:核心部门用Pixso保安全,创新团队用Penpot探索灵活性。不管选哪个,Docker都是当下最务实的底座。

建议带一张需求清单(团队规模、并发、安全等级、账号体系、预算)去跟两边对接团队聊,通常一周内有清晰落地方案。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐