Plane 如何用 setup.sh 完成自托管首次安装并配置 plane.env 后启动服务

发布时间:2026/9/12 5:25:59
Plane 如何用 setup.sh 完成自托管首次安装并配置 plane.env 后启动服务 Plane 如何用 setup.sh 完成自托管首次安装并配置 plane.env 后启动服务【免费下载链接】plane Open-source Jira, Linear, Monday, and ClickUp alternative. Plane is a modern project management platform to manage tasks, sprints, docs, and triage.项目地址: https://gitcode.com/GitHub_Trending/pl/plane这篇文章解决一个明确任务在一台装有 Docker 的机器上用 Plane 官方的setup.sh完成自托管首次安装把plane.env中访问相关的变量配置好然后启动整套服务并确认实例可用。全文基于仓库中的自托管文档 Self Hosting 指南脚本行为以仓库内的 install.sh 为准环境变量模板对应 variables.env。适用对象是 Docker Compose 单节点部署Docker Swarm 是另一条路径文末说明边界。准备条件Docker、系统与权限README 列出的前置要求Docker 已安装并处于运行状态。装完后在终端执行docker --version能显示版本号即安装成功操作系统支持 bash 脚本Ubuntu、Linux AMI、macOS。Windows 系统需要先安装 gitbash当前用户必须能访问 Docker 服务多数情况下用sudo su切换到 root 用户后再执行后续步骤后续所有步骤都在终端Windows 下为 gitbash窗口中执行。环境分两种来源云服务器文档以 AWS EC2 为例实例最低要求 2 vCPU、4GB RAM。在该机器上执行下面的命令安装 Docker Engine——该命令会从 get.docker.com 下载并在系统上安装 Docker需要具有足够权限的用户执行curl -fsSL https://get.docker.com | sh -本地桌面从 Docker Hub 下载 Docker DesktopMac 或 Windows 版本按安装向导完成安装并打开 Docker Desktop。Windows 安装时可能被要求启用 Hyper-V 和 Containers 功能并注销或重启使变更生效。关于 CPU 架构setup.sh会自动检测架构x86_64/amd64归为 amd64aarch64/arm64归为 arm64并检查所选 release 是否存在当前架构的预制镜像。如果当前架构没有预制镜像脚本会询问是否改为本地构建镜像会 clone 仓库代码并执行docker compose build --no-cache属于较重的构建操作。variables.env中另有一条注释ARM64 环境且当前APP_RELEASE没有对应镜像时可以取消注释DOCKER_PLATFORMlinux/amd64。下载 setup.shmkdir plane-selfhost cd plane-selfhost curl -fsSL -o setup.sh https://github.com/makeplane/plane/releases/latest/download/setup.sh chmod x setup.sh该命令从 Plane 的 latest release 下载setup.sh并赋予执行权限。如果走 Docker Swarm 部署方式README 给出的是同一位置的swarm.sh保存为setup.sh其菜单与本文不同本文只覆盖 Docker Compose 方式。首次安装生成 plane-app 目录与 plane.env在终端运行./setup.sh会出现动作菜单README 中的示例当前仓库install.sh中第一项显示为1) InstallSelect an Action you want to perform: 1) Install (x86_64) 2) Start 3) Stop 4) Restart 5) Upgrade 6) View Logs 7) Backup Data 8) Exit Action [2]: 1首次安装输入1。安装过程中脚本会依次检查最新 release 版本、校验当前架构的镜像可用性、把最新的docker-compose.yaml和plane.env由variables.env模板生成旧环境文件会先备份为plane.env.bak并归档到plane-app/archive/下载到plane-app目录并拉取所有镜像。安装完成后菜单会再次弹出这次输入8退出。安装成功的判断当前目录下生成了plane-app文件夹其中包含docker-compose.yaml和plane.env两个文件。配置 plane.env用任意文本编辑器打开plane-app/plane.env。README 指出必须重点确认的键键默认值说明LISTEN_HTTP_PORT80所选端口不能被占用例如改为LISTEN_HTTP_PORT8080WEB_URLhttp://localhost改为实际使用的 FQDN 或 IP 加上端口例如https://plane.example.com:8080或http://[IP-ADDRESS]:8080CORS_ALLOWED_ORIGINShttp://localhost改为与WEB_URL相同的域名模板文件中WEB_URL和CORS_ALLOWED_ORIGINS由APP_DOMAIN派生默认APP_DOMAINlocalhost修改访问地址时注意保持一致。README 还建议配置EMAIL SETTINGS邮箱设置开启后才能邀请团队成员加入平台。面向生产环境的提示来自variables.env的注释SECRET_KEY与LIVE_SERVER_SECRET_KEY的默认值都标注为“部署到生产前必须修改”并给出了生成方式——openssl rand -hex 32或 Django 的随机密钥命令python3 -c from django.utils.crypto import get_random_secret_key; print(get_random_secret_key())。如果之后还要改动plane.envREADME 建议先停掉服务再修改停止方式见下文。启动服务再次运行./setup.sh这次选择2StartSelect a Action you want to perform: 1) Install (x86_64) 2) Start 3) Stop 4) Restart 5) Upgrade 6) View Logs 7) Backup Data 8) Exit Action [2]: 2启动过程中会下载镜像耗时取决于下载速度和机器配置。install.sh的start流程按如下顺序收尾等待 migrator 容器完成数据库迁移退出码非 0 会判定启动失败然后对 API 容器做健康检查在容器内请求http://localhost:8000/最长等待 5 分钟全部通过后输出以下为脚本内置的输出文案不是固定日志格式Data Migration completed successfully ✅ API Service started successfully ✅ Plane Server started successfully ✅ You can access the application at $WEB_URL最后两行会打印你在plane.env中配置的$WEB_URL实际值。看到这段输出后浏览器访问你配置的地址例如http://[IP-ADDRESS]:8080即可打开 Plane 实例。验证启动结果浏览器验证用配置好的 URL 访问README 将其作为“自托管成功”的确认方式文档配有一张服务全部 running 的截图images/started.png作为参考画面。日志验证运行./setup.sh选择6View Logs会进入服务子菜单可选 Web、Space、API、Worker、Beat-Worker、Migrator、Proxy、Redis、Postgres、Minio、RabbitMQ0返回主菜单。例如选3查看 API 日志CTRLC退出。README 给出的 API 日志示例文档示例实际时间戳与环境变量不同api-1 | Waiting for database... api-1 | Database available! api-1 | No migrations Pending. Starting processes ... api-1 | [INFO] Starting gunicorn 21.2.0 api-1 | [INFO] Listening at: http://0.0.0.0:8000 (1) api-1 | [INFO] Application startup complete.启动失败的判断信号均来自install.sh的实际输出逻辑migrator 退出码非 0输出Plane Server failed to start ❌提示检查 migrator 服务日志并给出停止命令./setup.sh stop找不到 API 容器Error: API container not found. Please check if services are running.API 5 分钟健康检查超时输出API Service did not respond to health-check – please verify manually.需要手动检查安装阶段拉镜像失败Failed to pull the images. Exiting...此时脚本已回滚之前归档的 compose 文件。限制与后续操作修改plane.env后README 的做法是先停服务./setup.sh选3或直接./setup.sh stop改完再启动不需要停机、只想重启时选4Restart。版本升级不是首次安装的一部分但文档将其列为日常维护./setup.sh选5Upgrade会停掉服务并重新下载最新的docker-compose.yaml和plane.env完成后必须人工核对plane.env中的新增变量再回到 Start 步骤。数据备份用菜单7Backup Data会打包 pgdata、uploads、redisdata 等卷到plane-app/backup/下的时间戳目录Swarm 部署没有这套 Compose 菜单需按其自身流程处理。【免费下载链接】plane Open-source Jira, Linear, Monday, and ClickUp alternative. Plane is a modern project management platform to manage tasks, sprints, docs, and triage.项目地址: https://gitcode.com/GitHub_Trending/pl/plane创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考