mirror of
https://github.com/Dokploy/templates.git
synced 2026-07-09 16:05:23 +02:00
* fix(plane): update template to Plane v1.x (stable) The existing template targeted v0.27.1 which is heavily outdated. This updates it to match Plane's current official deployment config. Changes: - Images: v0.27.1 → stable (currently v1.2.3) from Docker Hub - Remove explicit commands from frontend services (built into images) - Postgres: 17-alpine → 15.7-alpine (matches Plane's supported version) - Valkey: 7.2.5 → 7.2.11 - Proxy: add admin + live dependencies, proxy_config/proxy_data volumes - Add LIVE_SERVER_SECRET_KEY, APP_DOMAIN, SITE_ADDRESS env vars - Add RABBITMQ_USER/PASSWORD/VHOST (new v1.x env var names) - Fix RABBITMQ_DEFAULT_USER bug (was hardcoded string, not variable) - Fix DATABASE_URL to use template variables directly - Fix AWS_ACCESS_KEY_ID to match MINIO_ROOT_USER literal - Remove deprecated: version key, SENTRY_*, NGINX_PORT - Remove unused env_file from plane-redis - Add restart policies to all services * fix(plane): replace MinIO with RustFS (Apache 2.0) MinIO's open-source edition is effectively dead: - Admin UI stripped (March 2025) - Docker images discontinued (October 2025) - GitHub repo in maintenance mode (December 2025) - Marked as "NO LONGER MAINTAINED" (February 2026) RustFS is an S3-compatible drop-in replacement: - Apache 2.0 license (no AGPL restrictions) - Same S3 API on port 9000 - Written in Rust, 2.3x faster than MinIO for small objects - Active development with built-in web console * fix(plane): address CI and convention issues - Add back version: "3.8" (required by Dokploy conventions) - Update meta.json: version v0.27.1 → v1.2.3 - Run process-meta to fix pre-existing strapi duplicate - Migrator restart: "no" → on-failure * fix(plane): address review feedback - Pin RustFS to 1.0.0-alpha.90 (no latest tag) - WEB_URL and CORS_ALLOWED_ORIGINS use http (Dokploy handles TLS)
64 lines
1.7 KiB
TOML
64 lines
1.7 KiB
TOML
[variables]
|
|
main_domain = "${domain}"
|
|
postgres_user = "${username}"
|
|
db_password = "${password:32}"
|
|
storage_password = "${password:32}"
|
|
rabbitmq_user = "${username}"
|
|
rabbitmq_pass = "${password:32}"
|
|
secret_key = "${base64:48}"
|
|
live_secret_key = "${base64:32}"
|
|
|
|
[config]
|
|
env = [
|
|
"APP_DOMAIN=${main_domain}",
|
|
"WEB_URL=http://${main_domain}",
|
|
"PGHOST=plane-db",
|
|
"PGDATABASE=plane",
|
|
"POSTGRES_USER=${postgres_user}",
|
|
"POSTGRES_PASSWORD=${db_password}",
|
|
"POSTGRES_DB=plane",
|
|
"POSTGRES_PORT=5432",
|
|
"PGDATA=/var/lib/postgresql/data",
|
|
"DATABASE_URL=postgresql://${postgres_user}:${db_password}@plane-db/plane",
|
|
"REDIS_HOST=plane-redis",
|
|
"REDIS_PORT=6379",
|
|
"REDIS_URL=redis://plane-redis:6379/",
|
|
"RUSTFS_ACCESS_KEY=access-key",
|
|
"RUSTFS_SECRET_KEY=${storage_password}",
|
|
"RUSTFS_VOLUMES=/data",
|
|
"RUSTFS_ADDRESS=0.0.0.0:9000",
|
|
"RUSTFS_CONSOLE_ENABLE=false",
|
|
"AWS_REGION=",
|
|
"AWS_ACCESS_KEY_ID=access-key",
|
|
"AWS_SECRET_ACCESS_KEY=${storage_password}",
|
|
"AWS_S3_ENDPOINT_URL=http://plane-storage:9000",
|
|
"AWS_S3_BUCKET_NAME=uploads",
|
|
"BUCKET_NAME=uploads",
|
|
"FILE_SIZE_LIMIT=5242880",
|
|
"RABBITMQ_HOST=plane-mq",
|
|
"RABBITMQ_PORT=5672",
|
|
"RABBITMQ_USER=${rabbitmq_user}",
|
|
"RABBITMQ_PASSWORD=${rabbitmq_pass}",
|
|
"RABBITMQ_VHOST=plane",
|
|
"RABBITMQ_DEFAULT_USER=${rabbitmq_user}",
|
|
"RABBITMQ_DEFAULT_PASS=${rabbitmq_pass}",
|
|
"RABBITMQ_DEFAULT_VHOST=plane",
|
|
"AMQP_URL=amqp://${rabbitmq_user}:${rabbitmq_pass}@plane-mq:5672/plane",
|
|
"API_BASE_URL=http://api:8000",
|
|
"DEBUG=0",
|
|
"CORS_ALLOWED_ORIGINS=http://${main_domain}",
|
|
"GUNICORN_WORKERS=1",
|
|
"USE_MINIO=1",
|
|
"SECRET_KEY=${secret_key}",
|
|
"API_KEY_RATE_LIMIT=60/minute",
|
|
"MINIO_ENDPOINT_SSL=0",
|
|
"SITE_ADDRESS=:80",
|
|
"LIVE_SERVER_SECRET_KEY=${live_secret_key}"
|
|
]
|
|
mounts = []
|
|
|
|
[[config.domains]]
|
|
serviceName = "proxy"
|
|
port = 80
|
|
host = "${main_domain}"
|