From 779b8ffafe99dad4fbd51c2a8f93519ca0089ba0 Mon Sep 17 00:00:00 2001 From: danciaclara Date: Fri, 6 Mar 2026 19:40:21 +0530 Subject: [PATCH 1/6] Troubleshooting overview page --- docs/.vitepress/config.mts | 1 + docs/self-hosting/methods/docker-compose.md | 10 ++---- docs/self-hosting/methods/overview.md | 18 ++++++++--- docs/self-hosting/overview.md | 6 ---- docs/self-hosting/troubleshoot/overview.md | 36 +++++++++++++++++++++ 5 files changed, 53 insertions(+), 18 deletions(-) create mode 100644 docs/self-hosting/troubleshoot/overview.md diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 2587204b..03921489 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -320,6 +320,7 @@ export default withMermaid( { text: "Troubleshoot", items: [ + { text: "Overview", link: "/self-hosting/troubleshoot/overview" }, { text: "Installation Errors", link: "/self-hosting/troubleshoot/installation-errors" }, { text: "License Errors", link: "/self-hosting/troubleshoot/license-errors" }, { text: "CLI Errors", link: "/self-hosting/troubleshoot/cli-errors" }, diff --git a/docs/self-hosting/methods/docker-compose.md b/docs/self-hosting/methods/docker-compose.md index 9e53a818..766a3b5a 100644 --- a/docs/self-hosting/methods/docker-compose.md +++ b/docs/self-hosting/methods/docker-compose.md @@ -18,13 +18,9 @@ Plane Pro and Plane Business are enabled on this edition, so the Free plan on th ### Prerequisites -- A virtual or on-prem machine with at least 2 vCPUs and 4 GB RAM (8 GB RAM recommended) -- `x64` AKA `AMD 64` or `AArch 64` AKA `ARM 64` CPUs -- Supported operating systems: - - Ubuntu - - Debian - - CentOS - - Amazon Linux 2 or Linux 2023 +- **CPU:** 2 cores (x64/AMD64 or AArch64/ARM64) +- **RAM:** 4GB (8GB recommended for production) +- **OS:** Ubuntu, Debian, CentOS, Amazon Linux 2 or 2023, macOS, Windows with WSL2 ::: info Ensure you're using the **latest version of Docker Compose**. Check your Docker Compose version with `docker-compose --version` and update if needed. diff --git a/docs/self-hosting/methods/overview.md b/docs/self-hosting/methods/overview.md index b07c1602..8f4f85e1 100644 --- a/docs/self-hosting/methods/overview.md +++ b/docs/self-hosting/methods/overview.md @@ -3,12 +3,20 @@ title: Deployment methods description: Choose the best deployment method for your infrastructure. Deploy Plane with Docker, Kubernetes, Podman, or in airgapped environments. keywords: plane deployment methods, docker compose, kubernetes, helm, podman, airgapped deployment, self-hosting --- +# Install Plane +Choose a deployment method based on your infrastructure and requirements. -# Deployment methods +## System requirements -Choose the deployment method that best fits your infrastructure, team size, and security requirements. Plane supports a wide range of deployment options from simple single-container setups to enterprise-grade Kubernetes clusters. +- **CPU:** 2 cores (x64/AMD64 or AArch64/ARM64) +- **RAM:** 4GB (8GB recommended for production) +- **OS:** Ubuntu, Debian, CentOS, Amazon Linux 2 or 2023, macOS, Windows with WSL2 -## Container deployments +## Deployment methods + +Plane supports a wide range of deployment options from simple single-container setups to enterprise-grade Kubernetes clusters. + +### Container deployments Core deployment methods for running Plane with containerized services: @@ -28,7 +36,7 @@ Core deployment methods for running Plane with containerized services: -## Platform deployments +### Platform deployments Deploy Plane using specialized platforms and orchestration tools: @@ -50,7 +58,7 @@ Deploy Plane using specialized platforms and orchestration tools: -## Airgapped deployments +### Airgapped deployments For environments without internet access or with strict security requirements: diff --git a/docs/self-hosting/overview.md b/docs/self-hosting/overview.md index 948aa290..57ae2e3c 100644 --- a/docs/self-hosting/overview.md +++ b/docs/self-hosting/overview.md @@ -37,12 +37,6 @@ Choose the deployment method that best fits your infrastructure and team size: [Other deployment methods](/self-hosting/methods/overview) -## System requirements - -- **CPU:** 2 cores -- **RAM:** 4GB (8GB recommended for production) -- **OS:** Linux (Ubuntu 20.04+, Debian 10+, CentOS 8+), macOS, or Windows with WSL2 - ## Configuration and governance Once deployed, configure your Plane instance to match your organization's needs: diff --git a/docs/self-hosting/troubleshoot/overview.md b/docs/self-hosting/troubleshoot/overview.md new file mode 100644 index 00000000..72c262d0 --- /dev/null +++ b/docs/self-hosting/troubleshoot/overview.md @@ -0,0 +1,36 @@ +--- +title: Troubleshooting +description: Diagnose and resolve issues with your self-hosted Plane instance. +--- + +# Troubleshooting + +When something goes wrong, start by identifying which service is affected, then check the relevant logs. + +## Identify the service + +| Problem area | Service | Logs to check | +|--------------|---------|---------------| +| UI not loading, blank screens, page errors | web | `plane-web` | +| Public pages or published views not working | space | `plane-space` | +| Instance settings or billing issues | admin | `plane-admin` | +| API errors, data not saving, 500 errors | api | `plane-api` | +| Imports stuck, notifications delayed, file processing issues | worker | `plane-worker` | +| Scheduled tasks or reminders not running | beat | `plane-beat` | +| Upgrade failures, database schema errors | migrator | `plane-migrator` | +| SSL errors, 502/504 errors, routing issues | proxy | `plane-proxy` | +| Real-time sync, live cursors, or presence not working | live | `plane-live` | +| License activation or validation errors | monitor | `plane-monitor` | +| GitHub, GitLab, or Slack integration issues | silo | `plane-silo` | +| Email-to-work-item not working | intake | `plane-intake` | +| File uploads or attachments failing | minio | `plane-minio` | +| Search not returning results | opensearch | `plane-opensearch` | + +See [View logs](/self-hosting/manage/view-logs) for commands to access logs in Docker deployments. + +## Common issues + +- [Installation errors](/self-hosting/troubleshooting/installation-errors) +- [License errors](/self-hosting/troubleshooting/license-errors) +- [CLI errors](/self-hosting/troubleshooting/cli-errors) +- [Storage errors](/self-hosting/troubleshooting/storage-errors) \ No newline at end of file From 2e85941a297fa3a911bfa3496ddde9ddcdefdbdd Mon Sep 17 00:00:00 2001 From: danciaclara Date: Fri, 6 Mar 2026 19:48:40 +0530 Subject: [PATCH 2/6] fixed dead links and formatting fixes --- docs/self-hosting/methods/overview.md | 2 ++ docs/self-hosting/troubleshoot/overview.md | 40 +++++++++++----------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/docs/self-hosting/methods/overview.md b/docs/self-hosting/methods/overview.md index 8f4f85e1..a801aaa0 100644 --- a/docs/self-hosting/methods/overview.md +++ b/docs/self-hosting/methods/overview.md @@ -3,7 +3,9 @@ title: Deployment methods description: Choose the best deployment method for your infrastructure. Deploy Plane with Docker, Kubernetes, Podman, or in airgapped environments. keywords: plane deployment methods, docker compose, kubernetes, helm, podman, airgapped deployment, self-hosting --- + # Install Plane + Choose a deployment method based on your infrastructure and requirements. ## System requirements diff --git a/docs/self-hosting/troubleshoot/overview.md b/docs/self-hosting/troubleshoot/overview.md index 72c262d0..dedfce68 100644 --- a/docs/self-hosting/troubleshoot/overview.md +++ b/docs/self-hosting/troubleshoot/overview.md @@ -9,28 +9,28 @@ When something goes wrong, start by identifying which service is affected, then ## Identify the service -| Problem area | Service | Logs to check | -|--------------|---------|---------------| -| UI not loading, blank screens, page errors | web | `plane-web` | -| Public pages or published views not working | space | `plane-space` | -| Instance settings or billing issues | admin | `plane-admin` | -| API errors, data not saving, 500 errors | api | `plane-api` | -| Imports stuck, notifications delayed, file processing issues | worker | `plane-worker` | -| Scheduled tasks or reminders not running | beat | `plane-beat` | -| Upgrade failures, database schema errors | migrator | `plane-migrator` | -| SSL errors, 502/504 errors, routing issues | proxy | `plane-proxy` | -| Real-time sync, live cursors, or presence not working | live | `plane-live` | -| License activation or validation errors | monitor | `plane-monitor` | -| GitHub, GitLab, or Slack integration issues | silo | `plane-silo` | -| Email-to-work-item not working | intake | `plane-intake` | -| File uploads or attachments failing | minio | `plane-minio` | -| Search not returning results | opensearch | `plane-opensearch` | +| Problem area | Service | Logs to check | +| ------------------------------------------------------------ | ---------- | ------------------ | +| UI not loading, blank screens, page errors | web | `plane-web` | +| Public pages or published views not working | space | `plane-space` | +| Instance settings or billing issues | admin | `plane-admin` | +| API errors, data not saving, 500 errors | api | `plane-api` | +| Imports stuck, notifications delayed, file processing issues | worker | `plane-worker` | +| Scheduled tasks or reminders not running | beat | `plane-beat` | +| Upgrade failures, database schema errors | migrator | `plane-migrator` | +| SSL errors, 502/504 errors, routing issues | proxy | `plane-proxy` | +| Real-time sync, live cursors, or presence not working | live | `plane-live` | +| License activation or validation errors | monitor | `plane-monitor` | +| GitHub, GitLab, or Slack integration issues | silo | `plane-silo` | +| Email-to-work-item not working | intake | `plane-intake` | +| File uploads or attachments failing | minio | `plane-minio` | +| Search not returning results | opensearch | `plane-opensearch` | See [View logs](/self-hosting/manage/view-logs) for commands to access logs in Docker deployments. ## Common issues -- [Installation errors](/self-hosting/troubleshooting/installation-errors) -- [License errors](/self-hosting/troubleshooting/license-errors) -- [CLI errors](/self-hosting/troubleshooting/cli-errors) -- [Storage errors](/self-hosting/troubleshooting/storage-errors) \ No newline at end of file +- [Installation errors](/self-hosting/troubleshoot/installation-errors) +- [License errors](/self-hosting/troubleshoot/license-errors) +- [CLI errors](/self-hosting/troubleshoot/cli-errors) +- [Storage errors](/self-hosting/troubleshoot/storage-errors) From 54fae822e28ba2798dfc81bfa0c70fd264875b1e Mon Sep 17 00:00:00 2001 From: danciaclara Date: Sat, 7 Mar 2026 13:51:43 +0530 Subject: [PATCH 3/6] minor fixes --- docs/.vitepress/config.mts | 1 + .../upload-airgapped-enterprise.webp | Bin 0 -> 34192 bytes .../activate-airgapped-enterprise.md | 19 +++++++++++++ docs/self-hosting/troubleshoot/overview.md | 26 +++++++++++++----- 4 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 docs/public/images/activate-license/upload-airgapped-enterprise.webp create mode 100644 docs/self-hosting/manage/manage-licenses/activate-airgapped-enterprise.md diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 03921489..ba975f43 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -307,6 +307,7 @@ export default withMermaid( }, { text: "Activate Enterprise", link: "/self-hosting/manage/manage-licenses/activate-enterprise" }, { text: "Activate Airgapped", link: "/self-hosting/manage/manage-licenses/activate-airgapped" }, + { text: "Activate Airgapped Enterprise", link: "/self-hosting/manage/manage-licenses/activate-airgapped-enterprise" }, ], }, { text: "Backup and restore", link: "/self-hosting/manage/backup-restore" }, diff --git a/docs/public/images/activate-license/upload-airgapped-enterprise.webp b/docs/public/images/activate-license/upload-airgapped-enterprise.webp new file mode 100644 index 0000000000000000000000000000000000000000..36ca1fb72f571f12627eac83119f4b3de77f2294 GIT binary patch literal 34192 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 literal 0 HcmV?d00001 diff --git a/docs/self-hosting/manage/manage-licenses/activate-airgapped-enterprise.md b/docs/self-hosting/manage/manage-licenses/activate-airgapped-enterprise.md new file mode 100644 index 00000000..8ecab314 --- /dev/null +++ b/docs/self-hosting/manage/manage-licenses/activate-airgapped-enterprise.md @@ -0,0 +1,19 @@ +--- +title: Activate Airgapped Enterprise license +description: Activate and configure your Plane Airgapped Edition Enterprise license. Offline license activation for air-gapped environments without internet access. +keywords: plane airgapped license, offline activation, air-gapped deployment, plane license key, self-hosting +--- + +# Activate Airgapped Edition Enterprise license + +Once your air-gapped installation is running, you'll need to activate your workspace with the license file. + +1. Login to the [Prime portal](https://prime.plane.so/licenses) with the same email address you used to purchase the paid plan. +2. Go to [Manage licenses](https://prime.plane.so/licenses). +3. Click **Download license** to download the license file for your Plane version. + ![Download license file](/images/activate-license/download-license.webp) +4. Sign in to your Plane instance in [God Mode](/self-hosting/govern/instance-admin). +5. Select **Billing** from the left pane. +6. Upload the license file to activate your instance. + ![Upload license file](/images/activate-license/upload-airgapped-enterprise.webp) +7. Click **Activate**. \ No newline at end of file diff --git a/docs/self-hosting/troubleshoot/overview.md b/docs/self-hosting/troubleshoot/overview.md index dedfce68..5ca99ace 100644 --- a/docs/self-hosting/troubleshoot/overview.md +++ b/docs/self-hosting/troubleshoot/overview.md @@ -9,25 +9,37 @@ When something goes wrong, start by identifying which service is affected, then ## Identify the service +## Identify the service + | Problem area | Service | Logs to check | | ------------------------------------------------------------ | ---------- | ------------------ | +| API errors, data not saving, 500 errors | api | `plane-api` | +| License activation or validation errors | monitor | `plane-monitor` | +| GitHub, GitLab, Slack integrations, imports not working | silo | `plane-silo` | +| SSL errors, 502/504 errors, routing issues | proxy | `plane-proxy` | +| File uploads or attachments failing | minio | `plane-minio` | +| Plane AI not working, AI chat errors | pi | `plane-pi` | | UI not loading, blank screens, page errors | web | `plane-web` | | Public pages or published views not working | space | `plane-space` | -| Instance settings or billing issues | admin | `plane-admin` | -| API errors, data not saving, 500 errors | api | `plane-api` | +| Instance settings | admin | `plane-admin` | | Imports stuck, notifications delayed, file processing issues | worker | `plane-worker` | | Scheduled tasks or reminders not running | beat | `plane-beat` | | Upgrade failures, database schema errors | migrator | `plane-migrator` | -| SSL errors, 502/504 errors, routing issues | proxy | `plane-proxy` | | Real-time sync, live cursors, or presence not working | live | `plane-live` | -| License activation or validation errors | monitor | `plane-monitor` | -| GitHub, GitLab, or Slack integration issues | silo | `plane-silo` | -| Email-to-work-item not working | intake | `plane-intake` | -| File uploads or attachments failing | minio | `plane-minio` | +| Intake Email not working | intake | `plane-intake` | | Search not returning results | opensearch | `plane-opensearch` | See [View logs](/self-hosting/manage/view-logs) for commands to access logs in Docker deployments. +## Reporting issues to support + +When [contacting support](https://docs.plane.so/support/get-help), include: + +- **Container logs** for the affected service (see table above) +- **Browser Network logs** (open DevTools → Network tab → reproduce the issue → export as HAR file) + +This helps us diagnose the problem faster. + ## Common issues - [Installation errors](/self-hosting/troubleshoot/installation-errors) From 127c39fdab118c94574544cd8e82df9f12ca1f31 Mon Sep 17 00:00:00 2001 From: danciaclara Date: Sat, 7 Mar 2026 13:54:36 +0530 Subject: [PATCH 4/6] added keywords --- docs/self-hosting/troubleshoot/overview.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/self-hosting/troubleshoot/overview.md b/docs/self-hosting/troubleshoot/overview.md index 5ca99ace..c08e77e3 100644 --- a/docs/self-hosting/troubleshoot/overview.md +++ b/docs/self-hosting/troubleshoot/overview.md @@ -1,6 +1,7 @@ --- title: Troubleshooting description: Diagnose and resolve issues with your self-hosted Plane instance. +keywords: plane troubleshooting, self-hosted errors, docker logs, plane integration issues, plane debug --- # Troubleshooting From 26b5f49693b296e1723e4c3b13b3187b46493d75 Mon Sep 17 00:00:00 2001 From: danciaclara Date: Sat, 7 Mar 2026 13:55:32 +0530 Subject: [PATCH 5/6] minor fixes --- docs/self-hosting/troubleshoot/overview.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/self-hosting/troubleshoot/overview.md b/docs/self-hosting/troubleshoot/overview.md index c08e77e3..d9e669e1 100644 --- a/docs/self-hosting/troubleshoot/overview.md +++ b/docs/self-hosting/troubleshoot/overview.md @@ -10,8 +10,6 @@ When something goes wrong, start by identifying which service is affected, then ## Identify the service -## Identify the service - | Problem area | Service | Logs to check | | ------------------------------------------------------------ | ---------- | ------------------ | | API errors, data not saving, 500 errors | api | `plane-api` | From 355238b01126208d5d9cb50b17535788ae8f32e0 Mon Sep 17 00:00:00 2001 From: danciaclara Date: Sat, 7 Mar 2026 13:57:49 +0530 Subject: [PATCH 6/6] formatting fixes --- docs/.vitepress/config.mts | 5 ++++- .../manage/manage-licenses/activate-airgapped-enterprise.md | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index ba975f43..936b5b8d 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -307,7 +307,10 @@ export default withMermaid( }, { text: "Activate Enterprise", link: "/self-hosting/manage/manage-licenses/activate-enterprise" }, { text: "Activate Airgapped", link: "/self-hosting/manage/manage-licenses/activate-airgapped" }, - { text: "Activate Airgapped Enterprise", link: "/self-hosting/manage/manage-licenses/activate-airgapped-enterprise" }, + { + text: "Activate Airgapped Enterprise", + link: "/self-hosting/manage/manage-licenses/activate-airgapped-enterprise", + }, ], }, { text: "Backup and restore", link: "/self-hosting/manage/backup-restore" }, diff --git a/docs/self-hosting/manage/manage-licenses/activate-airgapped-enterprise.md b/docs/self-hosting/manage/manage-licenses/activate-airgapped-enterprise.md index 8ecab314..dca5ff31 100644 --- a/docs/self-hosting/manage/manage-licenses/activate-airgapped-enterprise.md +++ b/docs/self-hosting/manage/manage-licenses/activate-airgapped-enterprise.md @@ -15,5 +15,5 @@ Once your air-gapped installation is running, you'll need to activate your works 4. Sign in to your Plane instance in [God Mode](/self-hosting/govern/instance-admin). 5. Select **Billing** from the left pane. 6. Upload the license file to activate your instance. - ![Upload license file](/images/activate-license/upload-airgapped-enterprise.webp) -7. Click **Activate**. \ No newline at end of file + ![Upload license file](/images/activate-license/upload-airgapped-enterprise.webp) +7. Click **Activate**.