Adds a StepRunUpdater step that starts app-dono-updater after the app
container comes up: a poll loop (docker pull, compare image IDs,
recreate on change) baked into the official docker:cli image via
`sh -c`, reusing the same docker run argv as the initial container
start so the two can't drift.
Not built on Watchtower: containrrr/watchtower was archived upstream
in Dec 2025 with no maintained successor recommended for production
use, so this avoids taking on that dependency.
The container always listens on 8080 internally while the user-provided
port is only the host-side mapping. Make this explicit without changing
behavior or the generated config:
- add a named containerAppPort constant and use it in both the docker -p
mapping and the config.toml generation (was a bare 8080 literal in two
places)
- document why config.toml hardcodes the port, so it isn't "fixed" back
to the form value
- relabel the form field to "Porta (host)"
The generated config.toml is byte-identical (port = 8080).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The network creation error format string had a trailing "output" with no
verb, silently dropping the captured docker output. Add the missing %s.
Also replace the hardcoded "app-dono_app" literal with the networkName
constant in RunAppClienteContainer.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>