Penpot 自托管部署指南:几步命令把开源设计平台跑起来
Penpot 自托管部署指南:几步命令把开源设计平台跑起来【免费下载链接】penpotPenpot: The open-source design platform for Product teams that need scalable collaboration.项目地址: https://gitcode.com/GitHub_Trending/pe/penpotPenpot 是一款面向产品团队的开源设计协作平台,支持 Docker 部署自托管。这篇指南带你从零把 Penpot 跑起来:先用一条 docker compose 命令完成首次启动,再覆盖日常启停、版本升级、创建用户,最后给出生产环境 HTTPS、反向代理和数据备份的完整做法。动手前先确认三样东西Penpot 的 Docker 部署本身不难,但它默认你手里已经有三块基础:Docker 与 Docker Compose:整套平台由 frontend、backend、postgres、valkey、exporter 等多个容器组成,全靠 compose 一起编排DNS 管理:自托管上线意味着你要自己控制域名解析反向代理经验:生产环境的 HTTPS 和 WebSocket 转发都要靠它先花十秒钟确认一下工具是否就位:docker --version docker compose version两条命令都能正常输出版本号就可以开工。如果这三样里有任何一项你不熟,建议直接用 Penpot 官方 SaaS,或者找一键部署方案,别硬扛。第一次启动:拉一份 compose 文件,一条命令起服务Penpot 官方提供一份标准的 docker-compose.yaml,从官方文档页下载到当前目录即可;如果你本地已经有 Penpot 仓库,docker/images/docker-compose.yaml 就是同一份,拷出来直接用。拿到文件后,一条命令启动全部服务:docker compose -p penpot -f docker-compose.yaml up -d等容器全部就绪,浏览器打开 http://localhost:9001,看到 Penpot 的界面就说明 Docker 部署成功了。顺手把版本钉死上面那条命令默认拉取最新镜像,试水没问题;正式环境一定要固定版本,不然哪天上游一更新,行为就跟着漂移了:PENPOT_VERSION2.4.3 docker compose -p penpot -f docker-compose.yaml up -d 记住这个习惯:生产环境的启动命令里永远显式带上PENPOT_VERSION,不依赖 latest。日常管理:启停、升级和建用户停掉整套服务docker compose -p penpot -f docker-compose.yaml down想再跑起来就重新执行up -d。数据都存在 Docker 卷里,停掉容器不会丢任何东西。升级版本升级就两步:先拉新镜像,再重启容器。docker compose -f docker-compose.yaml pull docker compose -p penpot -f docker-compose.yaml up -d⚠️ 一句提醒:尽量按版本顺序逐个升级,别一口气跳好几个大版本;尤其从 1.x 升到 2.0 时,数据迁移要特别留意,跳版本有丢数据的风险。不进浏览器,直接在命令行建用户部署完第一件事通常是给自己建个账号。Penpot 后端自带 manage.py 管理脚本,一条命令进容器执行:docker exec -ti penpot-penpot-backend-1 python3 manage.py create-profile容器名不一定叫penpot-penpot-backend-1,compose 项目不同名字会变。拿不准就先docker ps看一眼,把真实容器名填进去。上生产前先做这三件事HTTPS 必须开,不是可选项生产环境不启用 HTTPS,剪贴板等浏览器 API 会直接罢工,部分功能不可用。流程很简单:申请有效证书 → 用反向代理终结 TLS → 确认 WebSocket 能正常建立连接。反向代理怎么配两个常用方案,按你环境里已有的选:NGINX:server { listen 443 ssl; server_name penpot.example.com; # 与 docker-compose 中的请求体上限保持一致 client_max_body_size 30M; location /ws/ { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_pass http://localhost:9001; } location / { proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://localhost:9001; } }Caddy:penpot.example.com { reverse_proxy :9001 tls /path/to/cert.pem /path/to/key.pem }注意client_max_body_size要和 compose 文件里PENPOT_HTTP_SERVER_MAX_BODY_SIZE的取值对齐,不然传大图时代理会先于应用把请求拒掉。备份两个数据卷Penpot 的数据分两块,备份策略两块都要覆盖:penpot_postgres_data:用户、团队、项目等全部核心数据penpot_assets_data:用户上传的图片、文件等资源用 alpine 容器打 tar 包,简单可靠:# 数据库 docker run --rm -v penpot_postgres_data:/volume -v $(pwd):/backup alpine tar cvf /backup/db-backup.tar /volume # 资源 docker run --rm -v penpot_assets_data:/volume -v $(pwd):/backup alpine tar cvf /backup/assets-backup.tar /volume卷名以你机器上docker volume ls实际显示为准。卡住了看这里:排错清单按顺序过一遍,大部分问题能自己定位:看日志:docker compose logs,重点盯 backend 和 postgres 的输出看状态:docker compose ps,哪个容器没进入 running 状态就是头号嫌疑数据库连不上:单独查 Postgres 容器日志,常见原因是初始化没跑完页面白屏或接口报错:打开浏览器控制台,看是静态资源、API 还是 WebSocket 哪类请求挂了容器名对不上:compose 项目名不同,容器名会跟着变,先docker ps确认再进容器还有一个高频坑:compose 文件默认带了disable-email-verification、disable-secure-session-cookies这类开发向 flag,文件头部注释写得很清楚——一旦要把 Penpot 暴露到公网,先把这两个 flag 去掉,并配好真实的 SMTP 服务。【免费下载链接】penpotPenpot: The open-source design platform for Product teams that need scalable collaboration.项目地址: https://gitcode.com/GitHub_Trending/pe/penpot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

用ComfyUI搭建本地“附身/换身”AI内容生产工作流

用ComfyUI搭建本地“附身/换身”AI内容生产工作流

做个偏技术的项目:本地跑的“附身/换身”奇幻题材 AI 内容生产工作流。先说明白,这个标题不是一个具体的开源项目名,而是一类创作需求:在短剧、网文插画、游戏 CG、角色扮演视频里,经常要表现“灵魂附体”“意识互换”…

2026/8/30 10:16:18 阅读更多 →
awesome-design-md在线预览指南:getdesign.md平台功能全解

awesome-design-md在线预览指南:getdesign.md平台功能全解

awesome-design-md在线预览指南:getdesign.md平台功能全解 【免费下载链接】awesome-design-md A collection of DESIGN.md files analysis by popular brand design systems. Drop one into your project and let coding agents generate a matching UI. 项目地址…

2026/8/30 10:16:18 阅读更多 →
Starship 终端提示符实战:3 步装好,Git 状态与语言版本自动上屏

Starship 终端提示符实战:3 步装好,Git 状态与语言版本自动上屏

Starship 终端提示符实战:3 步装好,Git 状态与语言版本自动上屏 【免费下载链接】starship ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell! 项目地址: https://gitcode.com/GitHub_Trending/st/sta…

2026/8/30 10:16:18 阅读更多 →

最新新闻

旅行者1号FDS模拟器:探秘老式航天计算机的指令级仿真

旅行者1号FDS模拟器:探秘老式航天计算机的指令级仿真

旅行者 1 号上的 FDS 计算机模拟器,听起来像是一小撮航天爱好者的自嗨,但真正上手以后你会发现,它比跑一个大模型或者调一个视频渲染管线更能逼你理解“计算机到底是怎么工作的”。FDS 的全称是 Flight Data System,中文通常叫飞行…

2026/8/30 11:07:33 阅读更多 →
如何用 last30days 快速搞定任何话题的 30 天调研:新手完整指南

如何用 last30days 快速搞定任何话题的 30 天调研:新手完整指南

如何用 last30days 快速搞定任何话题的 30 天调研:新手完整指南 【免费下载链接】last30days-skill AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary 项目地址: https:…

2026/8/30 11:07:33 阅读更多 →
ST64UWB-A500/A100实战:UWB测距、选型与调试全解析

ST64UWB-A500/A100实战:UWB测距、选型与调试全解析

UWB这两年终于从“实验室技术”走到台前了。车企做数字钥匙、工厂做人员定位、消费电子做点对点高速传输,全都指向同一个词:超宽带。我拿到ST64UWB-A500和ST64UWB-A100这对组合时,第一反应是意法半导体这次把产品线切得很细——一颗面向车规级…

2026/8/30 11:07:33 阅读更多 →
系统工具链卡顿时先查哪里

系统工具链卡顿时先查哪里

系统工具链卡顿时先查哪里系统工具链“卡住”只是表面现象。它可能在解析依赖、等待文件锁、编译、链接,也可能已经启动目标程序,只是程序在等待网络或输入。第一步不是清缓存或更换工具,而是确认停在哪个阶段。阶段没有分清,任何…

2026/8/30 11:07:33 阅读更多 →
AI 视觉检测如何让薯片产线实现良率与一致性跃升

AI 视觉检测如何让薯片产线实现良率与一致性跃升

在超市货架上,品客薯片大概是辨识度最高的零食之一。每一片都呈现相似的马鞍形,叠放后刚好填满一个纸筒。很多人把这归功于包装设计,但对食品制造工程师来说,这其实是一条产线在原料波动、油炸温度、切割磨损、传送带抖动之间反复…

2026/8/30 11:07:33 阅读更多 →
三个系统十分钟跑通 Goose 跨平台部署的完整攻略

三个系统十分钟跑通 Goose 跨平台部署的完整攻略

三个系统十分钟跑通 Goose 跨平台部署的完整攻略 【免费下载链接】goose an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM 项目地址: https://gitcode.com/GitHub_Trending/goose3/goose 换系…

2026/8/30 11:06:33 阅读更多 →

日新闻

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

2026/8/30 0:00:01 阅读更多 →
数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

2026/8/30 0:00:01 阅读更多 →
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

2026/8/30 0:00:01 阅读更多 →

周新闻

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

2026/8/30 0:00:01 阅读更多 →
数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

2026/8/30 0:00:01 阅读更多 →
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

2026/8/30 0:00:01 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/29 4:34:53 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/28 17:43:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/29 2:05:18 阅读更多 →