You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -20,13 +20,46 @@ This is where you'll make all configuration changes. Remember to restart the ins
20
20
21
21
| Variable | Description | Default Value |
22
22
|----------|-------------|---------------|
23
+
|**INSTALL_DIR**| Directory where Plane is installed. |`/opt/plane`|
23
24
|**DOMAIN_NAME**| Primary domain name for your Plane instance. This determines how users will access your installation. |`localhost`|
24
25
|**APP_RELEASE_VERSION**| The version of Plane Commercial Edition you're running. This helps with troubleshooting and ensures compatibility. |*Current release version*|
25
26
|**WEB_URL**| The complete base URL for the web application including protocol (e.g., `https://plane.example.com`).|`http://localhost`|
26
27
|**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
28
|**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
29
|**DEBUG**| Toggles debug mode for more verbose logging and debugging information.|`0` (disabled) |
29
30
31
+
### Scaling and performance
32
+
33
+
| Variable | Description | Default Value |
34
+
|----------|-------------|---------------|
35
+
|**WEB_REPLICAS**| Number of web server replicas for load balancing. |`1`|
36
+
|**SPACE_REPLICAS**| Number of space service replicas for workspaces. |`1`|
37
+
|**ADMIN_REPLICAS**| Number of admin service replicas. |`1`|
38
+
|**API_REPLICAS**| Number of API service replicas. |`1`|
39
+
|**WORKER_REPLICAS**| Number of worker service replicas for background tasks. |`1`|
40
+
|**BEAT_WORKER_REPLICAS**| Number of beat worker replicas for scheduled tasks. |`1`|
41
+
|**LIVE_REPLICAS**| Number of live service replicas for real-time updates. |`1`|
42
+
|**GUNICORN_WORKERS**| Number of Gunicorn workers for handling web requests. Increase for better performance on high-traffic instances. |`2`|
43
+
44
+
### Networking and security
45
+
46
+
| Variable | Description | Default Value |
47
+
|----------|-------------|---------------|
48
+
|**LISTEN_HTTP_PORT**| Port for HTTP traffic. |`80`|
49
+
|**LISTEN_HTTPS_PORT**| Port for HTTPS traffic. |`443`|
50
+
|**APP_PROTOCOL**| Protocol to be used, either `http` or `https`. |`http`|
51
+
|**TRUSTED_PROXIES**| CIDR notation of trusted proxies for request forwarding. Important when behind load balancers or reverse proxies. |`0.0.0.0/0`|
52
+
|**SSL_VERIFY**| Whether to verify SSL certificates for outgoing connections. Set to `0` only in development environments. |`1`|
53
+
54
+
### SSL and certificates
55
+
56
+
| Variable | Description | Default Value |
57
+
|----------|-------------|---------------|
58
+
|**CERT_EMAIL**| Email used for SSL certificate registration with Let's Encrypt or other ACME providers. |`[email protected]`|
59
+
|**CERT_ACME_CA**| ACME Certificate Authority URL for SSL certificate issuance. |`https://acme-v02.api.letsencrypt.org/directory`|
60
+
|**CERT_ACME_DNS**| DNS provider configuration for SSL certificate domain validation. Format varies by provider. ||
61
+
|**SITE_ADDRES**| The domain name and port required by Caddy for serving your Plane instance. This determines how Caddy will handle incoming requests. |`localhost:80`|
62
+
30
63
### Database settings
31
64
32
65
| Variable | Description | Default Value |
@@ -59,16 +92,14 @@ This is where you'll make all configuration changes. Remember to restart the ins
59
92
|**RABBITMQ_DEFAULT_VHOST**| Virtual host for RabbitMQ, providing logical separation of resources. |`plane`|
60
93
|**AMQP_URL**| Full connection string for RabbitMQ. Format: `amqp://username:password@host:port/vhost`||
61
94
62
-
### Security and API settings
63
-
95
+
### Authentication and security
64
96
| Variable | Description | Default Value |
65
97
|----------|-------------|---------------|
66
98
|**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`|
99
+
|**MACHINE_SIGNATURE**| Unique identifier for your instance, used for licensing and authentication.||
100
+
|**SILO_HMAC_SECRET_KEY**| Secret key for Silo authentication and secure communication. ||
70
101
71
-
### Storage and file uploads
102
+
### File Storage (MinIO / S3)
72
103
73
104
| Variable | Description | Default Value |
74
105
|----------|-------------|---------------|
@@ -78,61 +109,137 @@ This is where you'll make all configuration changes. Remember to restart the ins
78
109
|**AWS_SECRET_ACCESS_KEY**| Secret key for MinIO or AWS S3 authentication. ||
79
110
|**AWS_S3_ENDPOINT_URL**| Custom endpoint URL for MinIO or S3-compatible storage. |`http://plane-minio:9000`|
80
111
|**AWS_S3_BUCKET_NAME**| S3 bucket name for file storage. |`uploads`|
112
+
|**MINIO_ROOT_USER**| Username for MinIO authentication. This is effectively your MinIO admin account. |`access-key`|
113
+
|**MINIO_ROOT_PASSWORD**| Password for MinIO root user authentication. Keep this secure as it provides full access to your storage. |`secret-key`|
114
+
|**BUCKET_NAME**| S3 bucket name where all file uploads will be stored. This bucket will be automatically created if it doesn't exist. |`uploads`|
81
115
|**FILE_SIZE_LIMIT**| Maximum file upload size in bytes. |`5242880` (5MB) |
82
116
|**MINIO_ENDPOINT_SSL**| Force HTTPS for MinIO when dealing with SSL termination. Set to `1` to enable. |`0`|
83
117
84
-
### Workers and Performance
118
+
### GitHub integration
85
119
86
120
| Variable | Description | Default Value |
87
121
|----------|-------------|---------------|
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`|
122
+
|**GITHUB_CLIENT_ID**| OAuth client ID for GitHub integration. ||
123
+
|**GITHUB_CLIENT_SECRET**| OAuth client secret for GitHub integration. ||
124
+
|**GITHUB_APP_NAME**| GitHub App name for enhanced GitHub integration. ||
125
+
|**GITHUB_APP_ID**| GitHub App ID for enhanced GitHub integration. ||
126
+
|**GITHUB_PRIVATE_KEY**| Private key for GitHub App authentication. ||
96
127
97
-
### Installation and system settings
128
+
### Slack integration
98
129
99
130
| Variable | Description | Default Value |
100
131
|----------|-------------|---------------|
101
-
|**INSTALL_DIR**|Directory where Plane is installed. |`/opt/plane`|
102
-
|**MACHINE_SIGNATURE**|Unique identifier for your instance, used for licensing and authentication.||
132
+
|**SLACK_CLIENT_ID**|OAuth client ID for Slack integration. ||
133
+
|**SLACK_CLIENT_SECRET**|OAuth client secret for Slack integration. ||
103
134
104
-
### Networking and SSL
135
+
### GitLab integration
105
136
106
137
| Variable | Description | Default Value |
107
138
|----------|-------------|---------------|
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`|
139
+
|**GITLAB_CLIENT_ID**| OAuth client ID for GitLab integration. ||
140
+
|**GITLAB_CLIENT_SECRET**| OAuth client secret for GitLab integration. ||
116
141
117
-
### Monitoring and feature flags
142
+
### API settings
118
143
119
144
| Variable | Description | Default Value |
120
145
|----------|-------------|---------------|
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`|
146
+
|**API_KEY_RATE_LIMIT**|Rate limit for API requests to prevent abuse. Format: `number/timeunit`|`60/minute`|
147
+
123
148
124
-
### Silo and Integrations
149
+
<Accordiontitle="Community Edition">
150
+
151
+
This guide provides a comprehensive overview of all environment variables available for configuring your self-hosted Plane Community Edition. Use these variables to customize your instance to fit your deployment needs.
152
+
153
+
## Where to find the environment file
154
+
155
+
The environment configuration file is located at:
156
+
```bash
157
+
plane-selfhost/plane-app/plane.env
158
+
```
159
+
160
+
## Environment Variables
161
+
162
+
### General settings
125
163
126
164
| Variable | Description | Default Value |
127
165
|----------|-------------|---------------|
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. ||
166
+
|**APP_DOMAIN**| Domain name for your Plane instance. This determines how users will access your installation. |`localhost`|
167
+
|**APP_RELEASE**| Release version of Plane. Helps with compatibility and troubleshooting. |`stable`|
168
+
|**WEB_URL**| The complete base URL for the web application including protocol. Essential for email links and integrations. |`http://${APP_DOMAIN}`|
169
+
|**API_BASE_URL**| The base URL for API services. Typically your WEB_URL with `/api` appended. |`http://api:8000`|
170
+
|**CORS_ALLOWED_ORIGINS**| Comma-separated list of origins allowed to make cross-origin requests to your API. |`http://${APP_DOMAIN}`|
171
+
|**DEBUG**| Toggles debug mode for verbose logging. Set to `1` to enable, `0` to disable. Not recommended in production as it may expose sensitive information. |`0`|
172
+
|**NGINX_PORT**| Port for HTTP traffic. The primary port your users will connect to. |`80`|
173
+
174
+
### Scaling and performance
175
+
176
+
| Variable | Description | Default Value |
177
+
|----------|-------------|---------------|
178
+
|**WEB_REPLICAS**| Number of web server replicas for serving the frontend UI. Increase for better load distribution. |`1`|
179
+
|**SPACE_REPLICAS**| Number of space service replicas handling workspace-related operations. |`1`|
180
+
|**ADMIN_REPLICAS**| Number of admin service replicas for administrative functions. |`1`|
181
+
|**API_REPLICAS**| Number of API service replicas processing API requests. |`1`|
182
+
|**WORKER_REPLICAS**| Number of worker service replicas handling background tasks. |`1`|
183
+
|**BEAT_WORKER_REPLICAS**| Number of beat worker replicas for scheduled/periodic tasks. |`1`|
184
+
|**LIVE_REPLICAS**| Number of live service replicas for real-time updates and WebSocket connections. |`1`|
185
+
|**GUNICORN_WORKERS**| Number of Gunicorn workers per API instance. Increase for better request handling capacity. |`1`|
186
+
187
+
### API settings
188
+
189
+
| Variable | Description | Default Value |
190
+
|----------|-------------|---------------|
191
+
|**API_KEY_RATE_LIMIT**| Rate limit for API requests to prevent abuse. Format: `number/timeunit`|`60/minute`|
192
+
193
+
### Database settings
194
+
195
+
| Variable | Description | Default Value |
196
+
|----------|-------------|---------------|
197
+
|**PGHOST**| Hostname or IP address of your PostgreSQL server. |`plane-db`|
198
+
|**PGDATABASE**| Name of the PostgreSQL database Plane will use. |`plane`|
199
+
|**POSTGRES_USER**| Username for PostgreSQL authentication. |`plane`|
200
+
|**POSTGRES_PASSWORD**| Password for PostgreSQL authentication. Use a strong, unique password. |`plane`|
201
+
|**POSTGRES_DB**| Same as PGDATABASE - the name of the PostgreSQL database. |`plane`|
202
+
|**POSTGRES_PORT**| TCP port your PostgreSQL server is listening on. |`5432`|
203
+
|**PGDATA**| Directory path where PostgreSQL data is stored. Only relevant if you're managing PostgreSQL directly. |`/var/lib/postgresql/data`|
204
+
|**DATABASE_URL**| Full connection string for PostgreSQL. If provided, overrides individual settings. Format: `postgresql://username:password@host:port/dbname`||
205
+
206
+
### Redis settings
207
+
208
+
| Variable | Description | Default Value |
209
+
|----------|-------------|---------------|
210
+
|**REDIS_HOST**| Hostname or IP address of your Redis server. |`plane-redis`|
211
+
|**REDIS_PORT**| TCP port your Redis server is listening on. |`6379`|
212
+
|**REDIS_URL**| Full connection string for Redis. Format: `redis://username:password@host:port`||
213
+
214
+
### RabbitMQ settings
215
+
216
+
| Variable | Description | Default Value |
217
+
|----------|-------------|---------------|
218
+
|**RABBITMQ_HOST**| Hostname or IP address of your RabbitMQ server. |`plane-mq`|
219
+
|**RABBITMQ_PORT**| TCP port your RabbitMQ server is listening on. |`5672`|
220
+
|**RABBITMQ_USER**| Username for RabbitMQ authentication. |`plane`|
221
+
|**RABBITMQ_PASSWORD**| Password for RabbitMQ authentication. Use a strong, unique password. |`plane`|
222
+
|**RABBITMQ_VHOST**| Virtual host for RabbitMQ, providing logical separation of resources. |`plane`|
223
+
|**AMQP_URL**| Full connection string for RabbitMQ. If not provided, it's constructed from individual settings. |`amqp://plane:plane@plane-mq:5672/plane`|
224
+
225
+
### File Storage (MinIO / S3)
226
+
227
+
| Variable | Description | Default Value |
228
+
|----------|-------------|---------------|
229
+
|**USE_MINIO**| Whether to use MinIO for object storage. Set to `1` to enable, `0` to use other configured storage. |`1`|
230
+
|**MINIO_ENDPOINT_SSL**| Force HTTPS for MinIO when handling SSL termination. Set to `1` to enable. |`0`|
231
+
|**AWS_REGION**| AWS region for S3 storage services. Applies when using S3 or MinIO. |*Empty*|
232
+
|**AWS_ACCESS_KEY_ID**| Access key for MinIO or AWS S3 authentication. |`access-key`|
233
+
|**AWS_SECRET_ACCESS_KEY**| Secret key for MinIO or AWS S3 authentication. |`secret-key`|
234
+
|**AWS_S3_ENDPOINT_URL**| Endpoint URL for MinIO or S3-compatible storage. |*Based on APP_DOMAIN*|
235
+
|**AWS_S3_BUCKET_NAME**| S3 bucket name for file storage. All uploads will be stored in this bucket. |`uploads`|
236
+
|**FILE_SIZE_LIMIT**| Maximum file upload size in bytes. |`5242880` (5MB) |
237
+
238
+
239
+
### Security settings
240
+
241
+
| Variable | Description | Default Value |
242
+
|----------|-------------|---------------|
243
+
|**SECRET_KEY**| Secret key used for cryptographic operations like session handling and token generation. Should be a long, random string. ||
0 commit comments