Skip to content

Commit 829a471

Browse files
committed
Environment variables
1 parent 86bcd1a commit 829a471

File tree

4 files changed

+142
-3
lines changed

4 files changed

+142
-3
lines changed

api-reference/issue/list-issues.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ api: GET /api/v1/workspaces/{workspace-slug}/projects/{project_id}/issues/
88

99
<ParamField path="workspace-slug" type="string" required></ParamField>
1010
<ParamField path="project_id" type="string" required></ParamField>
11-
<ParamField query="fields" type="string" required></ParamField>
12-
<ParamField query="expand" type="string" required></ParamField>
11+
<ParamField query="fields" type="string"></ParamField>
12+
<ParamField query="expand" type="string"></ParamField>

mint.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@
9191
},
9292
"self-hosting/govern/communication",
9393
"self-hosting/govern/database-and-storage",
94+
"self-hosting/govern/env-variables",
9495
"self-hosting/govern/custom-domain",
9596
"self-hosting/govern/private-bucket",
9697
{
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
---
2+
title: Environment variables reference guide
3+
sidebarTitle: Environment variables
4+
---
5+
6+
This guide provides a comprehensive overview of all environment variables used in the Commercial Edition. These variables allow you to customize your Plane instance to best fit your organization's needs.
7+
8+
## Where to find the .env file
9+
10+
The environment file for Plane Commercial Edition is located at:
11+
```bash
12+
/opt/plane/plane.env
13+
```
14+
15+
This is where you'll make all configuration changes. Remember to restart the instance after making changes to ensure they take effect.
16+
17+
## Environment variables
18+
19+
### General settings
20+
21+
| Variable | Description | Default Value |
22+
|----------|-------------|---------------|
23+
| **DOMAIN_NAME** | Primary domain name for your Plane instance. This determines how users will access your installation. | `localhost` |
24+
| **APP_RELEASE_VERSION** | The version of Plane Commercial Edition you're running. This helps with troubleshooting and ensures compatibility. | *Current release version* |
25+
| **WEB_URL** | The complete base URL for the web application including protocol (e.g., `https://plane.example.com`).|`http://localhost`|
26+
| **API_BASE_URL** | The base URL for API services. In most setups, this will be the same as your WEB_URL with `/api` appended. |`http://api:8000`|
27+
| **CORS_ALLOWED_ORIGINS** | Comma-separated list of origins allowed to make cross-origin requests to your API. Usually, this should include your WEB_URL. |`http://localhost`|
28+
| **DEBUG** | Toggles debug mode for more verbose logging and debugging information.| `0` (disabled) |
29+
30+
### Database settings
31+
32+
| Variable | Description | Default Value |
33+
|----------|-------------|---------------|
34+
| **PGHOST** | Hostname or IP address of your PostgreSQL server. | `plane-db` |
35+
| **PGDATABASE** | Name of the PostgreSQL database Plane will use. | `plane` |
36+
| **POSTGRES_USER** | Username for PostgreSQL authentication. | `plane` |
37+
| **POSTGRES_PASSWORD** | Password for PostgreSQL authentication. **Critical:** Use a strong, unique password here. |`plane`|
38+
| **POSTGRES_DB** | Same as PGDATABASE - the name of the PostgreSQL database. | `plane` |
39+
| **POSTGRES_PORT** | TCP port your PostgreSQL server is listening on. | `5432` |
40+
| **PGDATA** | Directory path where PostgreSQL data is stored. Only relevant if you're managing PostgreSQL within the same container/system. | `/var/lib/postgresql/data` |
41+
| **DATABASE_URL** | Full connection string for PostgreSQL. If provided, this takes precedence over individual connection parameters. Format: `postgresql://username:password@host:port/dbname` | *Constructed from individual settings* |
42+
43+
### Redis settings
44+
45+
| Variable | Description | Default Value |
46+
|----------|-------------|---------------|
47+
| **REDIS_HOST** | Hostname or IP address of your Redis server. | `plane-redis` |
48+
| **REDIS_PORT** | TCP port your Redis server is listening on. | `6379` |
49+
| **REDIS_URL** | Full connection string for Redis.| |
50+
51+
### RabbitMQ settings
52+
53+
| Variable | Description | Default Value |
54+
|----------|-------------|---------------|
55+
| **RABBITMQ_HOST** | Hostname or IP address of your RabbitMQ server. | `plane-mq` |
56+
| **RABBITMQ_PORT** | TCP port your RabbitMQ server is listening on. | `5672` |
57+
| **RABBITMQ_DEFAULT_USER** | Username for RabbitMQ authentication. | `plane` |
58+
| **RABBITMQ_DEFAULT_PASS** | Password for RabbitMQ authentication. | `plane` |
59+
| **RABBITMQ_DEFAULT_VHOST** | Virtual host for RabbitMQ, providing logical separation of resources. | `plane` |
60+
| **AMQP_URL** | Full connection string for RabbitMQ. Format: `amqp://username:password@host:port/vhost` | |
61+
62+
### Security and API settings
63+
64+
| Variable | Description | Default Value |
65+
|----------|-------------|---------------|
66+
| **SECRET_KEY** | Secret key used for various cryptographic operations, including JWT token signing. | |
67+
| **API_KEY_RATE_LIMIT** | Rate limit for API requests to prevent abuse. Format: `number/timeunit` | `60/minute` |
68+
| **SENTRY_DSN** | Data Source Name for Sentry error tracking integration. Leave empty if not using Sentry. ||
69+
| **SENTRY_ENVIRONMENT** | Environment identifier for Sentry logging, helping you distinguish between different deployments. | `production` |
70+
71+
### Storage and file uploads
72+
73+
| Variable | Description | Default Value |
74+
|----------|-------------|---------------|
75+
| **USE_MINIO** | Determines whether to use MinIO for object storage. Set to `1` to enable MinIO, `0` to use configured S3 or local storage. | `1` |
76+
| **AWS_REGION** | AWS region for S3 storage services. | |
77+
| **AWS_ACCESS_KEY_ID** | Access key for MinIO or AWS S3 authentication. | |
78+
| **AWS_SECRET_ACCESS_KEY** | Secret key for MinIO or AWS S3 authentication. | |
79+
| **AWS_S3_ENDPOINT_URL** | Custom endpoint URL for MinIO or S3-compatible storage. | `http://plane-minio:9000`|
80+
| **AWS_S3_BUCKET_NAME** | S3 bucket name for file storage. | `uploads` |
81+
| **FILE_SIZE_LIMIT** | Maximum file upload size in bytes. | `5242880` (5MB) |
82+
| **MINIO_ENDPOINT_SSL** | Force HTTPS for MinIO when dealing with SSL termination. Set to `1` to enable. | `0` |
83+
84+
### Workers and Performance
85+
86+
| Variable | Description | Default Value |
87+
|----------|-------------|---------------|
88+
| **GUNICORN_WORKERS** | Number of Gunicorn workers for handling web requests. Increase for better performance on high-traffic instances. | `2` |
89+
| **WEB_REPLICAS** | Number of web server replicas for load balancing. | `1` |
90+
| **SPACE_REPLICAS** | Number of space service replicas for workspaces. | `1` |
91+
| **ADMIN_REPLICAS** | Number of admin service replicas. | `1` |
92+
| **API_REPLICAS** | Number of API service replicas. | `1` |
93+
| **WORKER_REPLICAS** | Number of worker service replicas for background tasks. | `1` |
94+
| **BEAT_WORKER_REPLICAS** | Number of beat worker replicas for scheduled tasks. | `1` |
95+
| **LIVE_REPLICAS** | Number of live service replicas for real-time updates. | `1` |
96+
97+
### Installation and system settings
98+
99+
| Variable | Description | Default Value |
100+
|----------|-------------|---------------|
101+
| **INSTALL_DIR** | Directory where Plane is installed. | `/opt/plane` |
102+
| **MACHINE_SIGNATURE** | Unique identifier for your instance, used for licensing and authentication.| |
103+
104+
### Networking and SSL
105+
106+
| Variable | Description | Default Value |
107+
|----------|-------------|---------------|
108+
| **LISTEN_HTTP_PORT** | Port for HTTP traffic. | `80` |
109+
| **LISTEN_HTTPS_PORT** | Port for HTTPS traffic. | `443` |
110+
| **APP_PROTOCOL** | Protocol to be used, either `http` or `https`. | `http` |
111+
| **TRUSTED_PROXIES** | CIDR notation of trusted proxies for request forwarding. Important when behind load balancers or reverse proxies. | `0.0.0.0/0` |
112+
| **CERT_EMAIL** | Email used for SSL certificate registration with Let's Encrypt or other ACME providers. |`[email protected]`|
113+
| **CERT_ACME_CA** | ACME Certificate Authority URL for SSL certificate issuance. | `https://acme-v02.api.letsencrypt.org/directory` |
114+
| **CERT_ACME_DNS** | DNS provider configuration for SSL certificate domain validation. Format varies by provider. | |
115+
| **SSL_VERIFY** | Whether to verify SSL certificates for outgoing connections. Set to `0` only in development environments. | `1` |
116+
117+
### Monitoring and feature flags
118+
119+
| Variable | Description | Default Value |
120+
|----------|-------------|---------------|
121+
| **FEATURE_FLAG_SERVER_BASE_URL** | Base URL for feature flag service, enabling granular control over feature availability. | `http://monitor:8080`|
122+
| **PAYMENT_SERVER_BASE_URL** | Base URL for payment service, handling licensing and subscription management. |`http://monitor:8080`|
123+
124+
### Silo and Integrations
125+
126+
| Variable | Description | Default Value |
127+
|----------|-------------|---------------|
128+
| **SILO_HMAC_SECRET_KEY** | Secret key for Silo authentication and secure communication. | |
129+
| **GITHUB_CLIENT_ID** | OAuth client ID for GitHub integration. | |
130+
| **GITHUB_CLIENT_SECRET** | OAuth client secret for GitHub integration. | |
131+
| **GITHUB_APP_NAME** | GitHub App name for enhanced GitHub integration. | |
132+
| **GITHUB_APP_ID** | GitHub App ID for enhanced GitHub integration. | |
133+
| **GITHUB_PRIVATE_KEY** | Private key for GitHub App authentication. | |
134+
| **SLACK_CLIENT_ID** | OAuth client ID for Slack integration. | |
135+
| **SLACK_CLIENT_SECRET** | OAuth client secret for Slack integration. | |
136+
| **GITLAB_CLIENT_ID** | OAuth client ID for GitLab integration. | |
137+
| **GITLAB_CLIENT_SECRET** | OAuth client secret for GitLab integration. | |
138+

self-hosting/govern/external-secrets.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This guide explains how to integrate Plane with external secret management solut
99

1010
1. Create a dedicated IAM user (e.g., `external-secret-access-user`). You can uncheck **Console Access Required**.
1111
2. Generate `ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` and keep them handy.
12-
3. Note the user's ARN for later use (format: `arn:aws:iam::&lt;account-id&gt;:user/&lt;user-name&gt;`).
12+
3. Note the user's ARN for later use (format: `arn:aws:iam::<account-id>:user/<user-name>`).
1313

1414
4. Create IAM policy (e.g., `external-secret-access-policy`) with the following JSON:
1515

0 commit comments

Comments
 (0)