6ff7bc5fda
act_runner v0.6.1 does not propagate the runner's network namespace to job containers, so the job can never resolve 'portainer' or reach '192.168.1.30:9000'. After trying every combination of container.network_mode / container.network / options in the runner config, the only reliable solution is to skip the in-cluster Portainer API call and do the deploy via SSH directly on the NAS. - New secrets: NAS_SSH_KEY, NAS_HOST, NAS_USER. - The new 'Redeploy stack on Portainer via SSH' step writes the SSH key to ~/.ssh, then pipes docker-compose.prod.yml to 'docker compose -p davidaragon-portfolio -f - up -d' over SSH. - The old Portainer-API step is removed. Smoke-test at the end hits the public port on the host (3001) and logs the HTTP code; we don't fail the job if the public proxy upstream isn't reachable from the runner's network.