Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions docker-compose.dokploy.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# ===== Application =====
# Public domain Plane is served on.
APP_DOMAIN=task.stagging.kiin.rw
# Full external URL of the instance (used to build links).
WEB_URL=https://task.stagging.kiin.rw
# Browser origins allowed to call the API (CORS).
CORS_ALLOWED_ORIGINS=https://task.stagging.kiin.rw
# Internal URL other services use to reach the API.
API_BASE_URL=http://plane-api:8000
# Django secret key: signs sessions and tokens. Keep it secret.
SECRET_KEY=dev-only-change-me
# Shared secret between the API and the realtime (live) server.
LIVE_SERVER_SECRET_KEY=dev-only-change-me

# ===== PostgreSQL (external) =====
# Bundled plane-db is disabled; point these at your external instance.
# Database user.
POSTGRES_USER=plane
# Database password.
POSTGRES_PASSWORD=plane
# Database name.
POSTGRES_DB=plane
# Port PostgreSQL listens on.
POSTGRES_PORT=5432
# Host the app and libpq tools connect to (external hostname or IP).
PGHOST=your-external-db-host
# Default database for libpq tools.
PGDATABASE=plane
# Full connection string (composed from the values above).
DATABASE_URL=postgresql://plane:plane@your-external-db-host:5432/plane

# ===== Redis / Valkey (cache) =====
# Redis host.
REDIS_HOST=plane-redis
# Redis port.
REDIS_PORT=6379
# Full Redis connection URL.
REDIS_URL=redis://plane-redis:6379/

# ===== RabbitMQ (task queue) =====
# Broker host.
RABBITMQ_HOST=plane-mq
# Broker port.
RABBITMQ_PORT=5672
# Broker user.
RABBITMQ_USER=plane
# Broker password.
RABBITMQ_PASSWORD=plane
# Broker virtual host.
RABBITMQ_VHOST=plane
# Full AMQP connection string (composed from the values above).
AMQP_URL=amqp://plane:plane@plane-mq:5672/plane

# ===== Object storage (MinIO / S3) =====
# Use the bundled MinIO (1) instead of an external S3 provider (0).
USE_MINIO=1
# AWS region; leave empty when using MinIO.
AWS_REGION=
# S3 / MinIO access key.
AWS_ACCESS_KEY_ID=access-key
# S3 / MinIO secret key.
AWS_SECRET_ACCESS_KEY=secret-key
# S3 / MinIO endpoint URL.
AWS_S3_ENDPOINT_URL=http://plane-minio:9000
# Bucket used to store uploads.
AWS_S3_BUCKET_NAME=uploads
# Max upload size in bytes (default 5 MiB).
FILE_SIZE_LIMIT=5242880
# Set to 1 if the S3 / MinIO endpoint is served over HTTPS.
MINIO_ENDPOINT_SSL=0

# ===== Caddy proxy =====
# Address the in-container Caddy listens on. Required: the proxy
# Caddyfile has no default and an empty value crashes it on boot.
SITE_ADDRESS=:80
# Peers allowed to set X-Forwarded-For / X-Real-IP. 'private_ranges'
# trusts only Dokploy's private upstream (Traefik) and blocks public
# IP spoofing. Use a narrower CIDR if exposing the proxy directly.
TRUSTED_PROXIES=private_ranges

# ===== App runtime =====
# Django debug mode; keep 0 in production.
DEBUG=0
# Number of Gunicorn workers for the API.
GUNICORN_WORKERS=1
# Rate limit applied to API-key requests.
API_KEY_RATE_LIMIT=60/minute
# Comma-separated IPs allowed as webhook targets; empty allows all.
WEBHOOK_ALLOWED_IPS=
# Comma-separated hosts allowed as webhook targets; empty allows all.
WEBHOOK_ALLOWED_HOSTS=
Loading