Docker 30分钟自托管 Penpot

发布时间:2026/10/31 13:20:41

Docker 30分钟自托管 Penpot Docker 30分钟自托管 Penpot【免费下载链接】penpotPenpot: The open-source design platform for Product teams that need scalable collaboration.项目地址: https://gitcode.com/GitHub_Trending/pe/penpot团队的设计文件不想放在别人的 SaaS 上所以我在自己的 VPS 上自托管了一套 Penpot用 Docker Compose 拉起的整个过程 30 分钟中途踩了 2 个坑。它和 Figma 最大的区别文件是标准的 .penpot 格式数据全在自己手里开发者还能直接在图层面板拿到 CSS/SVG。下面按我实际操作的顺序讲。先跑起来最短路径整条路径就两条命令链clone 仓库把官方生产 compose 文件拿出来直接用。git clone https://gitcode.com/GitHub_Trending/pe/penpot cd penpot cp docker/images/docker-compose.yaml ./docker-compose.yaml # 固定版本号别裸用 latest升级时才可控 PENPOT_VERSION2.16 docker compose -p penpot up -dcompose 文件里已经把 frontend、backend、PostgreSQL、Valkey 缓存、临时邮件服务都编排好了第一次跑要拉镜像等几分钟。跑通后验证curl -I http://localhost:9001浏览器打开http://localhost:9001能看到登录页就算活了按需配置只动你要用的官方 compose 文件顶部有全量 flag 清单改之前先翻一眼再对着 docs/technical-guide/configuration.md 查细节。下面四个场景是我真用过的改哪段动哪段。当你需要让团队用 GitHub 账号登录的时候environment: # 追加 login-with-github 到 PENPOT_FLAGS PENPOT_GOOGLE_...: # 换成对应提供商 PENPOT_GITHUB_CLIENT_ID: your_client_id_here PENPOT_GITHUB_CLIENT_SECRET: your_client_secret_here # ... 其余保持不变注意OAuth 应用的回调地址要填https://你的域名/api/rpc/command/oauth-callback填错就登录死循环。当设计资产太多想存到 S3/对象存储的时候environment: PENPOT_OBJECTS_STORAGE_BACKEND: s3 # 默认是 fs数据在 penpot_assets 卷里 PENPOT_OBJECTS_STORAGE_S3_ENDPOINT: https://your_endpoint_here PENPOT_OBJECTS_STORAGE_S3_BUCKET: your_bucket_here AWS_ACCESS_KEY_ID: your_access_key_here AWS_SECRET_ACCESS_KEY: your_secret_key_here # ... 其余保持不变注意桶的 CORS 和公共读权限没配好图片资源会全部加载失败而且只发生在用户上传图片之后启动时看不出来。当你想关掉自助注册、只允许管理员建号的时候environment: # 从 PENPOT_FLAGS 里删掉 registration PENPOT_FLAGS: enable-smtp enable-prepl-server # ... 其余按需保留关掉后唯一建号途径是进 backend 容器执行python3 manage.py create-profile漏掉enable-prepl-server这个 flag 脚本就跑不了。当你要接 CI/CD 自动导出设计稿的时候团队设置里建个访问令牌让流水线直接调导出接口注意令牌等同于账号权限发出去就存进 secrets 里别贴到代码库。上生产前必须做的三件事1. 换掉默认的 PENPOT_SECRET_KEY。它是会话、邀请令牌等所有加密密钥的根默认值change-this-insecure-key是公开的等于谁都能伪造你的登录态。python3 -c import secrets; print(secrets.token_urlsafe(64))把输出填进 compose 的x-secret-key段。不改的后果拿到这份 compose 文件的人可以任意伪造用户会话。2. 配一条真实的 SMTP 通道。compose 内置的 mailcatch 只是临时收件箱验证邮件永远发不到用户手上。environment: PENPOT_SMTP_HOST: smtp.your_provider_here PENPOT_SMTP_PORT: 587 PENPOT_SMTP_USERNAME: your_smtp_user_here PENPOT_SMTP_PASSWORD: your_smtp_pass_here PENPOT_SMTP_TLS: true # ... 其余保持不变不配的后果用户注册验证邮件永远收不到只能靠手动放行团队一多就乱。3. 上 HTTPS反代只给关键行。生产环境别裸奔 9001 端口用 Nginx 或 Traefik 反代到 backend。location /ws/ { proxy_pass http://127.0.0.1:9001; proxy_set_header Upgrade $http_upgrade; # WebSocket 必须多人协作靠它 proxy_set_header Connection upgrade; } client_max_body_size 350M; # 别用 Nginx 默认的 1MB上传必挂/ws/的 Upgrade 头漏掉多人实时协作消息会卡住不刷新body 限制不同步上传大文件 500。我踩过的坑现象frontend 容器反复重启docker compose ps里一直 RESTARTING。原因不是配置错了是启动顺序——backend 等 Postgres 和 Valkey 健康检查通过才起frontend 又依赖 backend首跑要几分钟。解决别急着查日志docker compose ps盯到全绿真卡住了docker compose logs penpot-backend看是否数据库还在初始化。现象第一次部署就栽在这——登录后刷新页面就掉回登录页。原因PENPOT_PUBLIC_URI还停留在http://localhost:9001和你实际的访问地址对不上会话 cookie 写不进去。解决把它改成你的真实域名改完 backend 和 frontend 都要重启。现象上了反代之后大文件上传报 413。原因Nginx 默认client_max_body_size是 1MB看着吓人其实一行配置的事。解决代理层加client_max_body_size 350M;和 Penpot 的PENPOT_HTTP_SERVER_MAX_BODY_SIZE保持一致。日常维护5条命令够用了备份数据库docker exec penpot-penpot-postgres-1 pg_dump -U penpot penpot db_$(date %F).sql备份资产卷docker run --rm -v penpot_penpot_assets:/data alpine tar czf assets_$(date %F).tar.gz -C /data .健康检查docker compose -p penpot ps所有服务都应该是 healthy/Up看日志docker compose -p penpot logs -f penpot-backend升级docker compose -p penpot pull docker compose -p penpot up -d跨大版本别跳小步升官方全量配置项和 flag 清单都在 docs/technical-guide/configuration.md下次升级前翻一遍。现在就去把 compose 里的PENPOT_SECRET_KEY和数据库密码换成自己的值这是上生产前最不值钱也最不能省的一步。【免费下载链接】penpotPenpot: The open-source design platform for Product teams that need scalable collaboration.项目地址: https://gitcode.com/GitHub_Trending/pe/penpot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/31 5:45:50

libtiff 4.2.0深度解析:ABI变更、编译陷阱与生产级部署

简介:本资源为libtiff 4.2.0版本的VS2017预编译源码包,面向C/C图像处理开发者及底层库研究者,解决TIFF格式读写、编解码与定制扩展等核心需求,适用于医疗影像、地理信息、文档扫描等需高兼容性TIFF支持的工业级应用。压缩包共61个…

2026/10/27 3:55:26

Strix AI 安全测试实战指南:5分钟完成首次 AI 漏洞扫描

Strix AI 安全测试实战指南:5分钟完成首次 AI 漏洞扫描 【免费下载链接】strix Open-source AI penetration testing tool to find and fix your app’s vulnerabilities. 项目地址: https://gitcode.com/GitHub_Trending/strix/strix 上线前等人工渗透报告要…

2026/10/30 4:54:16

设计协作里的令牌,怎样从表格落到产品里

设计协作里的令牌,怎样从表格落到产品里设计令牌常被理解为一份颜色、字号和圆角的表。表格本身并不难做,难的是它如何进入设计稿、组件库和业务页面,又如何在改版时不把旧页面一起带崩。如果令牌只是设计师交付的附件,开发仍在代…

2026/10/31 13:19:14

2025届毕业生如何掌握AI技能提升就业竞争力

1. 2025届毕业生面临的就业挑战与AI机遇 2025年全国高校应届毕业生人数预计将达到1222万,创下历史新高。这个数字背后是前所未有的就业竞争压力,传统行业的岗位增长已无法消化如此庞大的人才供给。与此同时,AI技术正在重塑几乎所有行业的就业…

2026/10/31 13:19:14

OpenCode:面向LLM原生开发的TypeScript+monorepo协作操作系统

1. OpenCode不是IDE,也不是代码编辑器——它是一套面向LLM原生开发的协作操作系统OpenCode这个词最近在开发者社区里频繁出现,但很多人第一次看到时会下意识把它和VS Code、JetBrains系列或者Cursor这类AI增强型编辑器划等号。我去年底开始接触OpenCode&…

2026/10/31 13:19:14

OpenRig:基于Node.js+tmux的本地Codex协议代理架构

1. OpenRig 是什么:一个被误读的开源项目名与真实技术图谱 “OpenRig”这个词在当前技术社区中正经历一场典型的语义漂移——它既不是某个广为人知的成熟开源项目,也不是官方发布的框架或工具套件,而更像一个在开发者私有工作流、实验性集成…

2026/10/31 13:19:14

LR-TB5000 TOF激光测距传感器调试与精度验证指南

简介:《基恩士激光测距操作手册》以PDF形式系统整理了LR-TB5000系列放大器内置型TOF激光传感器的官方使用说明,面向自动化产线的设备调试、电气维护人员及传感器初学者,用于解决激光测距仪在安全合规、安装配线与参数设定中的实操疑问。压缩包…

2026/10/31 13:19:14

OpenShell不是软件,而是跨平台Shell操作方法论

1. OpenShell 是什么?它不是 Shell,也不是“开源 Shell”的简称OpenShell 这个名字在当前技术社区里存在显著的语义混淆——它既不是 Linux/macOS 原生 shell(如 bash、zsh、fish)的开源实现,也不是一个统一跨平台的终…

2026/10/31 13:14:13

SAP按单生产委外加工:两层与三层BOM库存账务全链路

简介:围绕SAP按单生产(MTO)委外加工整理的实操总结文档,面向已具备MM/PP基础、需要处理外协采购与库存移动的顾问及企业关键用户,重点解答自供材料如何发往供应商库存、成品如何按销售订单入库等常见难题。文档以两个典…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/30 20:55:09

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/31 0:02:41

猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包

简介:本资源是一套面向计算机视觉初学者与YOLO目标检测实践者的猫狗图像数据集及配套开发工具包,专为快速上手目标检测模型训练而设计。资源包含1000张真实场景高清猫狗图片,标注质量高,同时提供VOC(XML)、…

2026/10/31 0:02:41

HDU2017多校标程复现:算法竞赛工程化真题沙盒

简介:本资源为2017年HDU多校联合训练第一场官方配套资料,面向ACM程序设计竞赛备赛学生、算法爱好者及高校编程集训队成员,旨在提供权威解题参考与完整测试验证环境。压缩包共40个文件,含15份C标程(覆盖全部赛题&#x…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑