Skip to main content
Plane uses environment variables for configuration. All settings are defined in the plane.env file (Docker Compose) or Helm values (Kubernetes).

Core Configuration

Application URLs

These are the most critical settings and must be configured before first startup.
.env
WEB_URL and CORS_ALLOWED_ORIGINS must match exactly, including protocol (http/https) and port. Mismatched values will cause authentication and API call failures.
Examples:

Server Ports

.env
If port 80 is already in use, change to a different port like 8080. Remember to update WEB_URL accordingly.

Database Configuration

PostgreSQL Settings

.env
For external PostgreSQL:
.env
PostgreSQL 15.7 is used with max_connections=1000 by default. Ensure your external database supports sufficient connections.

Cache & Message Queue

Redis Configuration

.env
For external Redis:
.env
Plane uses Valkey 7.2 by default, a Redis-compatible alternative. Any Redis 6.0+ compatible service works.

RabbitMQ Configuration

.env
RabbitMQ is used for background job processing (emails, notifications, imports, etc.).

File Storage

MinIO (S3-Compatible) Settings

.env

AWS S3 Configuration

For production, use AWS S3 or compatible services:
.env
For other S3-compatible services:

Security Settings

Secret Key

.env
Never commit the secret key to version control. Generate a new one for production using:

Live Server Secret

.env
Change this in production to a random 32-character string.

API Rate Limiting

.env
Options: 60/minute, 1000/hour, 10000/day

Trusted Proxies

.env
For production behind a load balancer:

SSL/TLS Configuration

Let’s Encrypt

.env
Using DNS challenge (for wildcard certs):
.env
Supported DNS providers: Cloudflare, Route53, DigitalOcean, and more.
For testing, use Let’s Encrypt staging:

Email Configuration (SMTP)

Required for user invitations, password resets, and notifications.
.env
Provider Examples:
Enable 2FA and generate an App Password at myaccount.google.com/apppasswords

Authentication Settings

Basic Authentication

.env
Set ENABLE_SIGNUP="0" to restrict new user registrations. Only admins can invite users.

Workspace Creation

.env
Set to 1 to allow only admins to create workspaces.

OAuth Providers

Google OAuth

.env
1

Create OAuth Credentials

2

Configure OAuth Consent Screen

Set authorized redirect URI: https://plane.example.com/auth/google/callback/
3

Copy Credentials

Add Client ID and Secret to your .env file

GitHub OAuth

.env
1

Create OAuth App

2

Set Callback URL

Authorization callback URL: https://plane.example.com/auth/github/callback/
3

Copy Credentials

Add Client ID and Secret to your .env file

GitLab OAuth

.env

Integrations

Slack Integration

.env

Unsplash Integration

For cover images:
.env
Get an API key at unsplash.com/developers

AI Features (LLM)

For AI-powered features:
.env
OPENAI_API_KEY, OPENAI_API_BASE, and GPT_ENGINE are deprecated but still supported. Use LLM_API_KEY for new deployments.

Analytics & Monitoring

PostHog (Product Analytics)

.env
For self-hosted PostHog:

Intercom (Customer Support)

.env

Performance Settings

Gunicorn Workers

.env
Recommended: (2 x CPU_CORES) + 1

Debug Mode

.env
Never enable debug mode in production. It exposes sensitive information and impacts performance.

Deprecated Settings

These settings are kept for backward compatibility:
.env

Environment Variables Reference Table

Applying Configuration Changes

1

Edit Configuration

2

Restart Services

Docker Compose:
Or directly:
Kubernetes:
3

Verify Changes

Check logs:

Next Steps

Instance Admin

Learn how to set up and manage instance administrators