{ "slug": "kestra", "kind": "compose", "metadata": { "name": "Kestra", "description": "Runs Kestra in Docker Compose with a companion configuration file, PostgreSQL datasource settings, and persistent storage.", "tags": [], "icon": { "provider": "selfhst", "id": "kestra" }, "draft": true, "version": { "name": "v1.3.15", "source_dep_name": "kestra/kestra", "source_dep_version": "v1.3.15" } }, "variables": [ { "title": "General", "name": "general", "items": [ { "name": "service_name", "type": "str", "title": "Compose service name", "required": false, "default": "kestra", "config": { "placeholder": "kestra" } }, { "name": "container_name", "type": "str", "title": "Container name", "required": false, "default": "kestra", "config": { "placeholder": "kestra" } }, { "name": "restart_policy", "type": "enum", "title": "Container restart policy", "required": true, "default": "unless-stopped", "config": { "options": [ "unless-stopped", "always", "on-failure", "no" ] } }, { "name": "container_user", "type": "str", "title": "Container runtime user", "required": false, "default": "root", "config": { "placeholder": "root" } }, { "name": "worker_threads", "type": "int", "title": "Worker Threads", "required": false, "default": 128, "config": { "slider": true, "min": 4, "max": 256, "step": 4, "placeholder": "128" } } ] }, { "title": "Runtime", "name": "runtime", "items": [ { "name": "docker_socket_enabled", "type": "bool", "title": "Docker Socket", "required": false, "default": true, "description": "Mount the Docker socket into Kestra" }, { "name": "tmp_workdir_host", "type": "str", "title": "Temp Workdir", "required": false, "default": "/tmp/kestra-wd", "description": "Host path for Kestra temporary working directory", "config": { "placeholder": "/tmp/kestra-wd" } }, { "name": "storage_volume_name", "type": "str", "title": "Storage Volume", "required": false, "default": "kestra-data", "description": "Named volume for Kestra storage", "config": { "placeholder": "kestra-data" } }, { "name": "env_file_enabled", "type": "bool", "title": "Env File", "required": false, "default": true, "description": "Load environment variables from an env file" }, { "name": "env_file_path", "type": "str", "title": "Env File Path", "required": false, "default": ".env", "description": "Path used for Env File.", "config": { "placeholder": ".env" } }, { "name": "kestra_public_url", "type": "str", "title": "Public Kestra URL", "required": true, "config": { "placeholder": "https://kestra.home.arpa/" } }, { "name": "tutorial_flows_enabled", "type": "bool", "title": "Tutorial Flows", "required": false, "default": false } ] }, { "title": "PostgreSQL Datasource", "name": "postgres", "items": [ { "name": "postgres_jdbc_url", "type": "str", "title": "PostgreSQL JDBC URL", "required": true, "config": { "placeholder": "jdbc:postgresql://database:5432/kestra" } }, { "name": "postgres_username", "type": "str", "title": "PostgreSQL username", "required": true, "config": { "placeholder": "kestra" } }, { "name": "postgres_password", "type": "secret", "title": "PostgreSQL password", "required": true } ] }, { "title": "Network", "name": "network", "items": [ { "name": "network_name", "type": "str", "title": "Network Name", "required": true, "default": "proxy", "config": { "placeholder": "proxy" } }, { "name": "network_external", "type": "bool", "title": "External Network", "required": false, "default": true } ] }, { "title": "Traefik", "name": "traefik", "toggle": "traefik_enabled", "items": [ { "name": "traefik_enabled", "type": "bool", "title": "Traefik", "required": false, "default": true }, { "name": "public_hostname", "type": "str", "title": "Primary public hostname", "required": false, "default": "kestra.home.arpa", "config": { "placeholder": "kestra.home.arpa" } }, { "name": "secondary_hostname", "type": "str", "title": "Secondary Hostname", "required": false, "default": "", "config": { "placeholder": "kp1web.home.arpa" } }, { "name": "traefik_middleware", "type": "str", "title": "Traefik Middleware", "required": false, "default": "", "config": { "placeholder": "authentik@file" } }, { "name": "traefik_entrypoint", "type": "str", "title": "Entrypoint", "required": true, "default": "web", "config": { "placeholder": "web" } }, { "name": "traefik_tls_enabled", "type": "bool", "title": "TLS", "required": false, "default": true }, { "name": "traefik_tls_entrypoint", "type": "str", "title": "TLS Entrypoint", "required": true, "default": "websecure", "config": { "placeholder": "websecure" }, "needs": [ "traefik_tls_enabled=true" ] }, { "name": "traefik_tls_certresolver", "type": "str", "title": "Cert Resolver", "required": false, "default": "cloudflare", "config": { "placeholder": "cloudflare" }, "needs": [ "traefik_tls_enabled=true" ] } ] } ] }