尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Penpot Docker 部署实战:30 分钟搭建团队自己的开源设计协作平台

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你有没有遇到过这种情况产品需求评审时设计师在云端工具里的稿子开发截图、量标注、再手动抄 CSS来回对三遍还是对不齐更糟的是设计稿散落在各家订阅服务里一旦预算砍掉或团队解散所有资产瞬间找不回来。把设计平台搬到自己服务器上的开源 Penpot就是冲着这两个痛点去的。它基于纯 Web 技术Docker 一条命令拉起前端、后端、PostgreSQL、Valkey 缓存和 MCP 服务浏览器打开 localhost:9001 就能开始画。能力速览Penpot 到底帮你解决什么能力解决的问题浏览器端实时协作团队多人同时编辑一个文件不用来回传 .fig 文件设计稿直接查看 CSS/SVG 代码开发不用量标注、手抄代码设计交付即开发输入数据全部落在自己的 PostgreSQL 对象存储设计资产不经过第三方服务器安全审计可控组件、变体与设计令牌设计系统统一维护全局一键替换Webhooks、API 令牌、插件设计流程能接进 CI/CD 和内部系统不是孤岛MCP 服务容器AI 工具可以直接读写你的设计文件最快上手5 条命令跑通 Penpot先别纠结配置把服务跑起来最重要。准备一台装有 Docker 20.10 和 Docker Compose 2.0 的机器4GB 内存起步然后依次执行# 1. 获取 Penpot 仓库只需要其中的 docker-compose 文件 git clone https://gitcode.com/GitHub_Trending/pe/penpot cd penpot # 2. 复制生产用编排文件到工作目录 cp docker/images/docker-compose.yaml ./docker-compose.yaml # 3. 用指定版本启动固定版本比 latest 更稳 PENPOT_VERSION2.16 docker compose -p penpot -f docker-compose.yaml up -d # 4. 确认全部容器健康 docker compose -p penpot -f docker-compose.yaml ps打开浏览器访问http://localhost:9001注册一个账号Penpot 就跑起来了。默认编排里已经内置了 PostgreSQL 15、Valkey 缓存、文件存储卷和一个临时邮件服务mailcatcher在 1080 端口可以查看注册验证邮件你什么都不用额外装。停掉服务同样简单docker compose -p penpot -f docker-compose.yaml down。场景化配置按你的团队规模来所有配置都集中在docker-compose.yaml的环境变量里改完执行docker compose up -d重新加载即可。下面按团队规模给出建议而不是逐个变量讲。个人 / 小团队3 人以内保持默认编排即可只改一处把默认密钥换掉。# 生成一个随机密钥 python3 -c import secrets; print(secrets.token_urlsafe(64))把生成结果填入 backend 服务的PENPOT_SECRET_KEY默认值change-this-insecure-key绝对不能上生产。内网使用的话默认的文件系统存储PENPOT_OBJECTS_STORAGE_BACKEND: fs资产写入penpot_assets卷已经够用。中型团队3~20 人对外提供服务配置项环境变量 / 操作说明对外地址PENPOT_PUBLIC_URIfrontend 和 backend 两处都要改填你的真实域名如https://design.example.com正式邮件PENPOT_SMTP_HOST/PENPOT_SMTP_PORT/PENPOT_SMTP_USERNAME/PENPOT_SMTP_PASSWORD/PENPOT_SMTP_TLS换成真实 SMTP 服务商别用内置 mailcatch注册策略PENPOT_FLAGS中移除disable-email-verification移除disable-secure-session-cookies开启邮箱验证和安全 Cookie功能开关PENPOT_FLAGS按需追加webhooks、enable-login-with-github等完整列表见编排文件顶部注释存储可保持 fs但确保卷有独立磁盘和备份设计资产都在penpot_assets卷里企业级多人协作 高可用诉求配置项环境变量 / 操作说明S3 兼容存储PENPOT_OBJECTS_STORAGE_BACKEND: s3PENPOT_OBJECTS_STORAGE_S3_ENDPOINT/PENPOT_OBJECTS_STORAGE_S3_BUCKET/AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY资产与计算解耦可水平扩展数据库加固修改POSTGRES_PASSWORD、PENPOT_DATABASE_PASSWORD确认POSTGRES_INITDB_ARGS--data-checksums默认编排已开启数据校验和缓存内存上限Valkey 的VALKEY_EXTRA_FLAGS--maxmemory 128mb --maxmemory-policy volatile-lfu默认值对多数实例足够用户多时调大但别超过 60% 可用内存资源规格参考4 核 CPU / 16GB 内存可支撑数千注册用户数据库磁盘从 50~100GB 起步每多 10 个活跃编辑器加约 5GB官方推荐配置基线生产就绪HTTPS、性能与监控一张表生产环境的差别基本都在反向代理层Penpot 容器本身改动很小。检查项配置方法验收标准HTTPS用 Nginx/Caddy/Traefik 反代到9001端口编排文件里注释掉的 Traefik Lets Encrypt 片段可直接照抄浏览器显示安全锁PENPOT_PUBLIC_URI与证书域名一致WebSocket 支持反代/ws/路径时加Upgrade/Connection头两人同时编辑文件改动实时同步不卡顿上传上限容器侧PENPOT_HTTP_SERVER_MAX_BODY_SIZE默认 367001600350MB反代侧client_max_body_size设一致上传 200MB 字体/素材包不报 413资源限制给 backend 设 4G 内存上限、frontend 2Gcompose 的deploy.resources段docker stats下容器不出现 OOM 重启指标采集backend 暴露 Prometheus 格式的/metrics端点Prometheus 抓取即可能看到请求延迟与容器指标曲线日志留存给 compose 服务加json-file驱动限制max-size: 10m、max-file: 3磁盘不因日志无限增长踩坑急救症状、定位、修复症状定位命令修复服务起不来backend 反复重启docker compose -p penpot -f docker-compose.yaml logs penpot-backend多半是数据库连接失败先ps确认penpot-postgres状态为 healthy再检查PENPOT_DATABASE_URI与密码是否匹配页面空白或一直转圈浏览器 F12 看 Console 和 Network 报错确认PENPOT_PUBLIC_URI与实际访问域名一致域名不匹配会导致资源 404改完两个服务的PENPOT_PUBLIC_URI重启即可注册收不到验证邮件docker compose logs penpot-backend \| grep -i smtp生产必须配真实 SMTP临时排障时可打开http://localhost:1080的 mailcatcher 看邮件到底发没发大文件上传失败对照反代层与容器层的 body size 限制两边取较小值生效把反代client_max_body_size调到 ≥350M崩溃后不知原因崩溃界面直接点 Download report.txt 下载系统报告报告里含版本、配置与错误摘要排查和提 issue 都靠它日常排障三件套记住就行docker compose ps看状态、docker compose logs -f跟踪日志、F12 看浏览器控制台。进阶集成只讲三个最值得做的1. CI/CD 自动导出。在团队的「访问令牌」里生成一个 API Token界面上直接创建见上文图片CI 任务里用带Authorization头的请求调用 RPC 接口定时把设计稿导出为 SVG 或切图直接推给前端仓库。2. Webhooks 打通内部系统。PENPOT_FLAGS追加webhooks在团队设置里填回调地址。设计文件更新、成员变动都会推 JSON 到你的服务很适合驱动审批流和发布流水线。3. Prometheus 监控。backend 自带/metrics端点写一条 scrape 配置指向它再配个容器存活告警监控就闭环了不需要额外装 exporter。开始你的自托管 Penpot现在就照着「最快上手」那 4 条命令跑一遍跑通后再按团队规模补配置。更完整的变量说明、Kubernetes 部署和代理细节都在仓库里的 docs/technical-guide/getting-started/docker.md 和 docs/technical-guide/configuration.md 中随查随用。【免费下载链接】penpotPenpot: The open-source design platform for Product teams that need scalable collaboration.项目地址: https://gitcode.com/GitHub_Trending/pe/penpot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表