=== the controller in its own words, outline and sparkyfitness ===
2026/09/22 11:49:40 router.go:906: [ERROR] [api] Remove failed for sparkyfitness: stack "sparkyfitness" is not deployed
2026/09/22 11:49:40 router.go:81: [DEBUG] [api] removeStack: name=sparkyfitness
2026/09/22 11:49:40 router.go:81: [DEBUG] [api] removeStack: name=sparkyfitness removeHDDData=false removeBackups=true
2026/09/22 11:49:40 delete.go:418: [DEBUG] [stacks] RemoveStack called: name="sparkyfitness", removeHDDData=false, backupPathsToRemove=2
2026/09/22 11:49:40 delete.go:432: [DEBUG] [stacks] RemoveStack sparkyfitness: state=not_deployed, deployed=false, orphaned=false, deploying=false
2026/09/22 11:49:40 router.go:906: [ERROR] [api] Remove failed for sparkyfitness: stack "sparkyfitness" is not deployed
2026/09/22 11:54:47 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/outline — 5 env vars, 3 encrypted, 3 sensitive fields
2026/09/22 11:54:47 [INFO] [stacks] SaveAppConfig: saved config for outline
2026/09/22 11:55:51 manager.go:1217: [DEBUG] [stacks] StopStack outline: current state=deploying deployed=true containers=0
2026/09/22 11:55:52 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/outline — 5 env vars, 3 encrypted, 3 sensitive fields
2026/09/22 11:55:52 [INFO] [stacks] SaveAppConfig: saved config for outline
2026/09/22 11:55:57 healthprobe.go:162: [WARN] Health probe outline: API GET :3000/_health → Get "http://outline-postgres:3000/_health": dial tcp: lookup outline-postgres on 127.0.0.11:53: no such host
2026/09/22 11:56:09 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/outline — 5 env vars, 0 encrypted, 3 sensitive fields
2026/09/22 11:56:09 [INFO] [stacks] SaveAppConfig: saved config for outline
2026/09/22 11:57:16 healthprobe.go:153: [DEBUG] Health probe outline: API GET :3000/_health → 200 (10ms)
2026/09/22 12:02:16 healthprobe.go:153: [DEBUG] Health probe outline: API GET :3000/_health → 200 (6ms)
2026/09/22 12:02:19 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/outline — 5 env vars, 0 encrypted, 3 sensitive fields
2026/09/22 12:02:19 [INFO] [stacks] SaveAppConfig: saved config for outline
2026/09/22 12:02:19 desiredstate.go:81: [INFO] [stacks] desired state for outline recorded as "stopped" (was "running")
2026/09/22 12:02:19 manager.go:1217: [DEBUG] [stacks] StopStack outline: current state=running deployed=false containers=3
2026/09/22 12:02:30 router.go:81: [DEBUG] [api] removeStack: name=outline
2026/09/22 12:02:30 router.go:81: [DEBUG] [api] removeStack: name=outline removeHDDData=true removeBackups=true
2026/09/22 12:02:30 delete.go:418: [DEBUG] [stacks] RemoveStack called: name="outline", removeHDDData=true, backupPathsToRemove=2
2026/09/22 12:02:30 delete.go:432: [DEBUG] [stacks] RemoveStack outline: state=not_deployed, deployed=false, orphaned=false, deploying=false
2026/09/22 12:02:30 router.go:906: [ERROR] [api] Remove failed for outline: stack "outline" is not deployed
2026/09/22 12:02:30 router.go:81: [DEBUG] [api] removeStack: name=outline
2026/09/22 12:02:30 router.go:81: [DEBUG] [api] removeStack: name=outline removeHDDData=false removeBackups=true
2026/09/22 12:02:30 delete.go:418: [DEBUG] [stacks] RemoveStack called: name="outline", removeHDDData=false, backupPathsToRemove=2
2026/09/22 12:02:30 delete.go:432: [DEBUG] [stacks] RemoveStack outline: state=not_deployed, deployed=false, orphaned=false, deploying=false
2026/09/22 12:02:30 router.go:906: [ERROR] [api] Remove failed for outline: stack "outline" is not deployed

=== what is left on disk ===
-- outline
app.yaml
docker-compose.yml
   app.yaml:
# Auto-generated by felhom-controller — do not edit locked fields manually
deployed: false
deployed_at: "2026-09-22T11:54:47Z"
env:
    DB_PASSWORD: ENC:a9/HjqjfhZQiU+q8QCxRkkFzUHJrwKUDi13B/c48q4yfCisJZhfy6ZnJKbnzggcbvQGqLQ==
    DOMAIN: enkisfelhom.hu
    SECRET_KEY: ENC:aVLWYum6c7/Q79yC0NSZubSdq7mxpF5bvmh7YAnjgLcxFEO4Od7flp6oE5WIdEuFPimPK+UAL0nDD44Hx4CX86qbWwOv6PJH/PA1F9BvjbQVzdAg7I9KUplmjMI=
    SUBDOMAIN: outline
    UTILS_SECRET: ENC:bRybX+/E5jEJj5wvG9AjC9r70IJlB3sYhVUbAzCnYD6/n/a7H+YX27gZ+ZSzomLpobsE81FPNY1fH9tVWT7DzLNK6RpNUkAuHA3zVvVYe6ky6iK8KLkMgu4BUmQ=
locked_fields:
    - DOMAIN
    - SUBDOMAIN
    - SECRET_KEY
    - UTILS_SECRET
    - DB_PASSWORD
desired_state: stopped
installed_images:
    outline:
        ref: outlinewiki/outline:1.9.1
        digest: sha256:9fe2cbdceccea0ffb82cbc8dc6f4c0d4ba1d377454e502d5d2bddececb34d4f1
        at: "2026-09-22T11:56:09Z"
    outline-postgres:
        ref: postgres:16-alpine
        digest: sha256:721873c34ceb9f8d8fc265984940dc982404c105f19ad51be9fdc5970a6080ea
        at: "2026-09-22T11:56:09Z"
-- sparkyfitness
app.yaml
docker-compose.yml
   app.yaml:
# Auto-generated by felhom-controller — do not edit locked fields manually
deployed: false
deployed_at: "2026-09-22T11:42:00Z"
env:
    API_ENCRYPTION_KEY: ENC:PpAejC9LnjlihiNeWgTUi0QDSIL+eH9KkpronmsKmvIYB0/h9eLBNzIXRPsEgw4ORZVxyRgGDynT0eFLXuknH8X96l+ZNyfZMBAzAEKg7f9oSvvdr7qtBa/aJC0=
    APP_DB_PASSWORD: ENC:YVkS/V3X7UbiVUJ8owxXhKd+SdiJmCMnYHjA3mjG2sBQObFCUb7TOFnvFCg0Bo+W5ymgPg==
    BETTER_AUTH_SECRET: ENC:n2GZ3NoqS4s2yAG/CcD7Z012ovrw9ePVYTyX9gBGURYKSLjsE5BJVrrO0a+2/zNSC/jkbeSkqprpp8TMxYeHWoFvk/UO+bkbEGgig1/GkSs+1jULhlZQuZ+5eWY=
    DB_PASSWORD: ENC:5KX8mTlmsrhInKN8RivvPLkgbKqrxguWnUXIFw1n94XKx7Zd7EUX0mA2yek+9vg/MV1AqA==
    DOMAIN: enkisfelhom.hu
    SUBDOMAIN: sparkyfitness
locked_fields:
    - DOMAIN
    - SUBDOMAIN
    - DB_PASSWORD
    - APP_DB_PASSWORD
    - API_ENCRYPTION_KEY
    - BETTER_AUTH_SECRET
desired_state: stopped
installed_images:
    sparkyfitness-db:
        ref: postgres:15-alpine
        digest: sha256:f7d23353e1b15400d22ebe31189f4d314b87a4c129cc400c8c2d8d4ca127bf81
        at: "2026-09-22T11:43:04Z"
    sparkyfitness-frontend:
        ref: codewithcj/sparkyfitness:v0.17.3

=== containers (expect none) ===
NONE

