尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Penpot Docker 自托管实战指南:30分钟跑通生产可用实例
Penpot Docker 自托管实战指南30分钟跑通生产可用实例【免费下载链接】penpotPenpot: The open-source design platform for Product teams that need scalable collaboration.项目地址: https://gitcode.com/GitHub_Trending/pe/penpot你是一支需要把设计资产握在自己手里的产品团队不想依赖 SaaS也不想被厂商锁定要在自己的服务器上架设设计协作平台。Penpot 是开源设计平台支持实时协作、设计令牌、插件体系Docker Compose 是官方主推的自托管路径。本指南假设你已安装 Docker 与 Docker Compose并能读懂基础 YAML。30分钟拉通最小可用实例仓库内docker/images/docker-compose.yaml就是官方生产用编排文件包含 frontend、backend、exporter、mcp、postgres、valkey 六个核心容器# 1. 克隆仓库 git clone https://gitcode.com/GitHub_Trending/pe/penpot # 2. 固定版本启动不要使用 latest 标签 cd penpot/docker/images PENPOT_VERSION2.16 docker compose -p penpot -f docker-compose.yaml up -d # 3. 验证返回 HTTP 200 即前端就绪 curl -I http://localhost:9001浏览器访问 http://localhost:9001看到注册页面即部署成功不注册的话也可以直接用下一条命令创建管理员账号。升级与停止同样两行命令# 停止 docker compose -p penpot -f docker-compose.yaml down # 升级到新版本固定好 PENPOT_VERSION 后 PENPOT_VERSION新版本号 docker compose -f docker-compose.yaml pull \ PENPOT_VERSION新版本号 docker compose -p penpot -f docker-compose.yaml up -d⚠️ 官方明确建议小步升级。1.x 升到 2.0 会自动触发 v2 组件迁移数据量大时可能持续数分钟属正常现象。看懂 3 个必须改的核心配置其余变量数据库连接、Redis 地址、对象存储路径保持默认即可改错反而容易踩坑。核心三项如下配置项默认值生产推荐值改错的后果PENPOT_SECRET_KEYchange-this-insecure-keypython3 -c import secrets; print(secrets.token_urlsafe(64))生成它是派生会话密钥的主密钥不改则任何人都能伪造登录态事后更换会使所有已登录会话失效PENPOT_PUBLIC_URIhttp://localhost:9001你的对外域名如https://penpot.example.com图片资产链接、邀请邮件链接都基于它生成不改则换域名后上传图片全部 404PENPOT_FLAGS含disable-email-verification disable-secure-session-cookies移除这两个 flag保留enable-prepl-server enable-mcp enable-smtp前两个 flag 是本地调试用的公网暴露后剪贴板等浏览器 API 在 HTTP 下失效且注册无邮件校验修改方式直接在docker/images/docker-compose.yaml的x-secret-key、x-uri、x-flags锚点处替换然后docker compose -p penpot -f docker-compose.yaml up -d重建容器。完整变量说明见 docs/technical-guide/getting-started/docker.md。生产加固清单安全替换PENPOT_SECRET_KEY主密钥默认值是公开字符串等于裸奔用上一条表格里的命令生成 512 位随机串。反向代理终结 HTTPSHTTP 下剪贴板 API 不可用。NGINX 必须为/ws/notifications与/mcp/ws两个 WebSocket 路径加 Upgrade 头且client_max_body_size 367001600与 compose 中的PENPOT_HTTP_SERVER_MAX_BODY_SIZE保持一致否则大文件上传会被代理层截断server { listen 443 ssl; server_name penpot.example.com; client_max_body_size 367001600; # 与 PENPOT_HTTP_SERVER_MAX_BODY_SIZE 同步 # ssl_certificate / ssl_certificate_key 省略 location /ws/notifications { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_pass http://localhost:9001/ws/notifications; } location / { proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://localhost:9001/; } }用manage.py管理账号关闭注册后只能用它建号依赖enable-prepl-serverflagdocker exec -ti penpot-penpot-backend-1 python3 manage.py create-profile --skip-tutorial --skip-walkthrough容器名以docker ps实际输出为准。性能Valkey 默认--maxmemory 128mb --maxmemory-policy volatile-lfu已覆盖绝大多数实例保持默认即可专用实例建议不超过可用内存 60%。数据库磁盘按官方建议起步50GB~100GB 弹性扩容10 个编辑器以上每个加约 5GB。可观测性用docker compose -p penpot -f docker-compose.yaml logs -f盯日志单服务用logs penpot-backend -f过滤排查方法另见 docs/technical-guide/troubleshooting.md。故障速查表现象大概率原因定位命令页面打开但协作通知不同步代理未透传 WebSocket Upgrade 头docker compose -p penpot -f docker-compose.yaml logs penpot-backend -f图片上传后显示 404PENPOT_PUBLIC_URI未改成实际域名curl -I http://localhost:9001/assets上传大文件返回 413代理client_max_body_size小于 367001600docker compose -p penpot -f docker-compose.yaml logs penpot-frontend -f容器反复重启Postgres 未完成健康检查或数据卷异常docker compose -p penpot -f docker-compose.yaml ps升级后长时间停在迁移阶段1.x→2.0 的 v2 迁移在跑数据量大耗时正常docker logs -f penpot-penpot-backend-1下一步给两个数据卷penpot_postgres_v15、penpot_assets配一条 cron 备份命令并把/readyz健康端点接进监控。【免费下载链接】penpotPenpot: The open-source design platform for Product teams that need scalable collaboration.项目地址: https://gitcode.com/GitHub_Trending/pe/penpot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Julia实战:从零实现3D Gaussian Splatting渲染与优化

Julia实战:从零实现3D Gaussian Splatting渲染与优化

3D Gaussian Splatting(3DGS)是当前三维视觉和实时渲染领域关注度很高的方向,它的核心思路是用一组带位置、形状、不透明度和颜色的三维高斯原语表达场景,通过可微光栅化把三维场景投到二维图像上,再根据真实照片反向优…

📅 2026/11/6 13:12:00
PayPal后端二面实录:八股文深挖与系统化备战指南

PayPal后端二面实录:八股文深挖与系统化备战指南

下午三点,面完PayPal后端二面,从视频会议退出来那刻,我坐在椅子上缓了好一会儿。不是累,是脑子真的被掏空了——整整一个小时,面试官几乎没有聊过任何项目业务,全程都在就着八股文往死里深挖。挖到什么程度…

📅 2026/9/12 6:55:50
Docker 容器部署 Windows:从拉镜像到进入桌面只需 3 步

Docker 容器部署 Windows:从拉镜像到进入桌面只需 3 步

Docker 容器部署 Windows:从拉镜像到进入桌面只需 3 步 【免费下载链接】windows Windows inside a Docker container. 项目地址: https://gitcode.com/GitHub_Trending/wi/windows 在 Linux 服务器上搭一个 Windows 测试环境,要导入 OVA、分区、…

📅 2026/10/5 0:00:00
MORE NEWS

更多资讯

📰

Qt飞机大战源码拆解:从工程结构到二次开发实战

简介:这份资源是面向Qt初学者与游戏开发入门者的「飞机大战」完整项目源码包,围绕Qt框架的图形渲染、事件驱动与资源管理等核心能力展开,可用于课程设计、练手项目或Qt技术学习参考。压缩包共223个文件,约6.21MB,以105…

📰

JSP农贸交易系统开发与优化实践

1. 项目概述 这个JSP农贸产品交易系统是一个典型的B2B电子商务平台,专为农产品流通领域设计。我在2018年曾参与过类似项目的全流程开发,深知这类系统对农产品供需匹配的关键作用。系统采用经典的JSPServlet技术栈,配合MySQL数据库&#xff0c…

📰

Qt QTableWidget十万行数据卡顿假死?模型视图优化与排查指南

简介:这份资源面向使用 Qt 进行 GUI 开发、需要解决 QTableWidget 大数据量展示卡顿问题的开发者,核心围绕惰性加载(Lazy Loading)思路展开。包内共 12 个文件,以 5 个 cpp 源文件与 4 个 h 头文件为主体,另…

📰

电商抽奖系统订单流程设计与优化实践

1. 抽奖活动订单流程设计概述抽奖活动作为电商平台常见的营销手段,其订单流程设计直接关系到用户体验和系统稳定性。一个完善的抽奖订单系统需要解决三个核心问题:库存管理、参与次数控制和数据一致性。传统设计往往将这些功能耦合在单一表中&#xff0c…

📰

企业数字化转型中的设备管理系统实践与价值

1. 设备管理在企业数字化转型中的核心价值 现代企业的设备资产管理正面临前所未有的挑战。随着数字化转型浪潮席卷各行各业,传统的设备管理方式已经无法满足企业高效运营的需求。以制造业为例,一家中型工厂通常拥有上千台设备资产,从生产设备…

📰

WOA优化VMD参数K与α:包络熵适应度及Matlab实战避坑

简介:面向计算机、电子信息工程、数学等专业学生及信号处理初学者,这份PDF资料围绕Matlab环境下的WOA-VMD展开,重点解决VMD中模态数K与惩罚因子alpha难以人工选取的问题。内容以鲸鱼优化算法自动寻优为主线,结合边际谱、频率图、收…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬