vps/process-compose.yaml
2026-03-05 22:02:04 +01:00

89 lines
2.8 KiB
YAML

mcp_server:
host: localhost
port: 3000
transport: sse
version: "0.5"
disable_env_expansion: true
vars:
FOO: 1 # {{.FOO}}
env_cmds:
DOCKER: "which podman || which docker"
DOCKER_HOST: "printf 'unix://'; which podman &>/dev/null && echo /run/user/$UID/podman/podman.sock || echo '/var/run/docker.sock'"
env:
processes:
paramjob:
command: "echo @{foo}"
description: "parametrized job"
disabled: true # MCP processes must be disabled initially
working_dir: "/var/log"
mcp:
type: tool
arguments:
- name: foo
type: string
description: "example arg"
required: true
#job_$next$next1:
# command: |
# sed -i 's|^ job_| job_$next|g' process-compose.yaml
# process-compose project update -f process-compose.yaml
create_container:
command: |
ID="$RANDOM$RANDOM"
echo "starting $ID"
echo curl --data 'log=https://localhost:8080/process/logs/create_container' -X POST https://home.org/created_container/$ID
disabled: true # run `curl https://loclahost:8080/process/start/create_container`
dockersocket:
command: |
which podman && podman system service --time=0 #$DOCKER_HOST;
is_elevated: true
reverse_proxy:
command: |
test pkg/traefik || util/wget 6093cd8a06ac26026e66d840dddfc2a1bde2048f8aed95ef26990b7ff70b3ed5 https://github.com/traefik/traefik/releases/download/v3.6.9/traefik_v3.6.9_linux_amd64.tar.gz
sleep 1
sudo pkg/traefik --api.insecure=true --providers.docker=true --entrypoints.web.address=:80 --providers.docker.endpoint=$DOCKER_HOST
depends_on:
dockersocket:
condition: process_started
availability:
restart: always # other options: "exit_on_failure", "always", "no" (default)
backoff_seconds: 2 # default: 1
max_restarts: 5 # default: 0 (unlimited)
dockers:
command: |
sleep 2 && DOCKER_HOST=$DOCKER_HOST docker-compose up test
availability:
restart: always # other options: "exit_on_failure", "always", "no" (default)
backoff_seconds: 2 # default: 1
max_restarts: 5 # default: 0 (unlimited)
depends_on:
dockersocket:
condition: process_started
glance:
command: |
test -f pkg/glance || util/wget a69b6424cda4887e84247b1e01dbfb36ae613ac2cb37f19e307889db2cecc39b https://github.com/glanceapp/glance/releases/download/v0.8.4/glance-linux-amd64.tar.gz
pkg/glance
availability:
restart: on_failure # other options: "exit_on_failure", "always", "no" (default)
backoff_seconds: 2 # default: 1
max_restarts: 5 # default: 0 (unlimited)
readiness_probe:
http_get:
host: "localhost"
port: 8081
scheme: "http"
period_seconds: 2
timeout_seconds: 5
success_threshold: 1
failure_threshold: 3