migrate
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
services:
|
||||
<< service_name >>:
|
||||
image: kestra/kestra:v1.3.15
|
||||
container_name: << container_name >>
|
||||
entrypoint: /bin/bash
|
||||
user: "<< container_user >>"
|
||||
command:
|
||||
- -c
|
||||
- /app/kestra server standalone --worker-thread=<< worker_threads >> -c config.yaml
|
||||
volumes:
|
||||
<%- if docker_socket_enabled %>
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
<%- endif %>
|
||||
- << tmp_workdir_host >>:/tmp/kestra-wd
|
||||
- << storage_volume_name >>:/app/storage
|
||||
- ./config/config.yaml:/app/config.yaml:ro
|
||||
<%- if env_file_enabled %>
|
||||
env_file:
|
||||
- << env_file_path >>
|
||||
<%- endif %>
|
||||
networks:
|
||||
- << network_name >>
|
||||
<%- if traefik_enabled %>
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
<%- if secondary_hostname %>
|
||||
- traefik.http.routers.<< service_name >>.rule=Host(`<< public_hostname >>`) || Host(`<< secondary_hostname >>`)
|
||||
<%- else %>
|
||||
- traefik.http.routers.<< service_name >>.rule=Host(`<< public_hostname >>`)
|
||||
<%- endif %>
|
||||
<%- if traefik_tls_enabled %>
|
||||
- traefik.http.routers.<< service_name >>.entrypoints=<< traefik_tls_entrypoint >>
|
||||
- traefik.http.routers.<< service_name >>.tls=true
|
||||
- traefik.http.routers.<< service_name >>.tls.certresolver=<< traefik_tls_certresolver >>
|
||||
<%- else %>
|
||||
- traefik.http.routers.<< service_name >>.entrypoints=<< traefik_entrypoint >>
|
||||
<%- endif %>
|
||||
<%- if traefik_middleware %>
|
||||
- traefik.http.routers.<< service_name >>.middlewares=<< traefik_middleware >>
|
||||
<%- endif %>
|
||||
- traefik.http.routers.<< service_name >>.service=<< service_name >>
|
||||
- traefik.http.services.<< service_name >>.loadBalancer.server.port=8080
|
||||
<%- endif %>
|
||||
restart: << restart_policy >>
|
||||
|
||||
volumes:
|
||||
<< storage_volume_name >>:
|
||||
driver: local
|
||||
|
||||
networks:
|
||||
<< network_name >>:
|
||||
<%- if network_external %>
|
||||
external: true
|
||||
<%- else %>
|
||||
driver: bridge
|
||||
<%- endif %>
|
||||
@@ -0,0 +1,297 @@
|
||||
{
|
||||
"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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user