Custom service stuck on "Starting" despite /health returning 200 (StartOS 0.3.5, RPi4)

I’m packaging a custom Docker-based service for StartOS 0.3.5 on a Raspberry Pi 4. The app starts and runs fine every time — confirmed by logs and a /health endpoint that returns HTTP 200 — but the StartOS UI stays on “Starting” and never reaches “Running.”

Current health-checks block:

health-checks:
main:
name: Web Interface
type: docker
image: main
system: false
entrypoint: sh
args:

Already tried without success: io-format set to json, yaml, and omitted entirely; removing the health-checks section (start-sdk pack rejects this as a required field); adding then removing a native Docker HEALTHCHECK; several curl/sh argument variations.

Question: what does StartOS 0.3.5 require for a docker-type health check with inject: true to actually pass? Is there a known networking/namespace issue with inject: true on 0.3.5? A working example manifest from a similar custom service would help a lot.

I tried searching the community but was unsuccessful.

Thanks in advance.

Did you follow the 0351 packaging guide?

You’re welcome to use any 0351 package as an example, but you’d have to view the 0351 branches or older commits where the 0351 structure is still in tact. Really, nobody should be producing a new 0351 service. You should package for 040 using this guide: