Skip to content

Commit f88286a

Browse files
authored
Merge pull request #74 from makeplane/portainer
Deploy Plane on Portainer
2 parents 39efa50 + a4e8a87 commit f88286a

File tree

2 files changed

+57
-1
lines changed

2 files changed

+57
-1
lines changed

mint.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@
6969
"pages": [
7070
"self-hosting/methods/docker-compose",
7171
"self-hosting/methods/kubernetes",
72-
"self-hosting/methods/docker-swarm"
72+
"self-hosting/methods/docker-swarm",
73+
"self-hosting/methods/portainer"
7374
]
7475
},
7576
{

self-hosting/methods/portainer.mdx

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
title: Portainer
3+
---
4+
5+
This guide shows you the steps to deploy a self-hosted instance of Plane using Portainer.
6+
7+
## Install Plane
8+
9+
### Prerequisites
10+
- Before you get started, make sure you have a Portainer environment set up and ready to go.
11+
- Your setup should support either amd64 or arm64 architectures.
12+
13+
### Procedure
14+
15+
1. **Download the required depoyment files**
16+
- `docker-compose.yml` – Defines Plane's services and dependencies.
17+
```bash
18+
curl -fsSL https://prime.plane.so/releases/<plane-version>/docker-compose.yml -o docker-compose.yml
19+
```
20+
- `variables.env` – Stores environment variables for your deployment.
21+
```bash
22+
curl -fsSL https://prime.plane.so/releases/<plane-version>/variables.env -o plane.env
23+
```
24+
<Warning>
25+
The `<plane-version>` value should be v1.8.2 or higher.
26+
</Warning>
27+
28+
2. Click **+ Add stack** on Portainer.
29+
30+
3. Copy and paste the contents of `docker-compose.yml` into the editor.
31+
32+
4. Load environment variables from the `variables.env` file.
33+
34+
5. **Configure environment variables**
35+
Before deploying, edit the following variables:
36+
37+
- `DOMAIN_NAME` – (required) Your application's domain name.
38+
- `SITE_ADDRESS` – (required) The full domain name (FQDN) of your instance.
39+
- `MACHINE_SIGNATURE` – (required) A unique identifier for your machine. You can generate this by running below code in terminal:
40+
```sh
41+
sed -i 's/MACHINE_SIGNATURE=.*/MACHINE_SIGNATURE='$(openssl rand -hex 16)'/' plane.env
42+
```
43+
- `CERT_EMAIL` – (optional) Email address for SSL certificate generation (only needed if you're setting up HTTPS).
44+
45+
6. **Configure external DB, Redis, and RabbitMQ**
46+
<Warning>
47+
When self-hosting Plane for production use, it is strongly recommended to configure external database and storage. This ensures that your data remains secure and accessible even if the local machine crashes or encounters hardware issues. Relying solely on local storage for these components increases the risk of data loss and service disruption.
48+
</Warning>
49+
- `DATABASE_URL` – Connection string for your external database.
50+
- `REDIS_URL` – Connection string for your external Redis instance.
51+
- `AMQP_URL` – Connection string for your external RabbitMQ server.
52+
53+
7. Click **Deploy the stack**.
54+
55+
That's it! Once the deployment is complete, Plane should be up and running on your configured domain.

0 commit comments

Comments
 (0)