Penpot 开源的、基于 Web 的设计与原型协作平台
这份详细的部署教程将指引您安装和运行 Penpot——一个开源的、基于 Web 的设计与原型协作平台。它的核心优势在于使用 SVG、CSS 等开放标准,让设计和开发团队的协作更顺畅,并且您可以完全自主掌控部署环境。
Penpot 的部署方式非常灵活,支持 Docker、Kubernetes 等多种方式。对于大多数用户,使用 Docker Compose 是最快、最推荐的入门方法。以下是基于 Docker 的详细步骤:
📥 部署前准备
- 服务器要求:一台运行 Linux(如 Ubuntu)的服务器或本地机器,至少 4GB 内存和 10GB 可用存储空间。
- 软件依赖:确保系统已安装 Docker 和 Docker Compose。
- 域名与网络(可选但推荐用于生产):准备一个域名并解析到您的服务器 IP,以便启用 HTTPS。如果仅在本地网络使用,可跳过此步。
🐳 使用 Docker Compose 部署(推荐)
这是最标准的部署方式,适合大多数场景。
第一步:获取并准备配置文件
在服务器上创建项目目录并下载官方 docker-compose.yaml 文件:
1 | mkdir -p ~/penpot && cd ~/penpot |
此文件定义了 Penpot 所需的所有服务(前端、后端、数据库、缓存等)。
第二步:配置关键参数
编辑 docker-compose.yaml 文件,至少设置 PENPOT_PUBLIC_URI,这是用户访问 Penpot 的 URL。
1 | # 在 docker-compose.yaml 的环境变量部分添加或修改 |
对于生产环境,建议进一步配置:
- SMTP 邮件服务:用于用户注册验证和密码重置。取消
enable-smtp注释,并填写PENPOT_SMTP_*相关变量。 - 认证方式:支持 Google、GitHub、OIDC、LDAP 等。通过添加
enable-login-with-*标志和对应的客户端 ID、密钥来启用。 - 注册控制:可限制注册邮箱域名 (
PENPOT_REGISTRATION_DOMAIN_WHITELIST)。
第三步:启动 Penpot
在 ~/penpot 目录下执行以下命令,启动所有服务:
1 | docker compose -p penpot -f docker-compose.yaml up -d |
此命令会以后台模式运行,并自动创建所需的数据卷。首次启动需要拉取镜像,可能需要几分钟。
第四步:创建管理员账户
服务启动后,在浏览器中访问您设置的 PENPOT_PUBLIC_URI。首次访问会进入注册页面,创建您的第一个用户,该用户将自动成为管理员。
第五步(可选):配置反向代理与 HTTPS
如果您的 Penpot 需要对外网提供服务,强烈建议配置 HTTPS。可以使用 Nginx 作为反向代理,并使用 Let’s Encrypt 自动获取 SSL 证书。
安装 Nginx 和 Certbot:
1
apt update && apt install nginx python3-certbot-nginx
配置 Nginx:创建一个虚拟主机配置,将请求代理到本地的 Penpot 服务(默认端口
9001)。1
2
3
4
5
6
7
8
9
10server {
listen 80;
server_name penpot.your-domain.com;
location / {
proxy_pass http://127.0.0.1:9001/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
# ... 其他 proxy 设置
}
}运行 Certbot 获取证书:
1
certbot --nginx -d penpot.your-domain.com
按照提示完成证书签发和自动配置。
🔧 运维与管理
停止服务:
docker compose -p penpot -f docker-compose.yaml down。查看日志:
docker compose -p penpot -f docker-compose.yaml logs -f。更新版本:推荐使用特定版本标签而非
latest,以实现可控升级。先拉取新镜像,再重启服务。1
2
3export PENPOT_VERSION=2.4.3 # 替换为具体版本号
docker compose -p penpot -f docker-compose.yaml pull
docker compose -p penpot -f docker-compose.yaml up -d
📚 其他部署选项
- Docker Desktop 扩展:如果使用 Docker Desktop,可以通过 Penpot Docker Extension 进行一键部署和管理。
- Unraid 系统:社区提供了
jsonbored/penpot-aio镜像,专为 Unraid 优化,是一个几乎开箱即用的单容器方案。 - Kubernetes:对于大规模生产环境,Penpot 提供了 Helm Chart,便于在 K8s 集群中部署。
💡 关键提示
- 数据持久化:Docker Compose 方式默认使用命名卷存储数据库和上传文件,停止或删除容器不会丢失数据。
- 性能规划:数据库增长取决于实际设计活动,而非单纯用户数。建议从较保守的资源配置开始,并根据使用情况监控调整。






