# command stays alive as long as the user keeps the terminal session alive ssh c.pico.sh run -p 80:80 --name web nginx:latest # pipe it to us docker save web:latest | ssh c.pico.sh run -p 80:80 # point your domain to our http load balancer # activate based on external event ssh c.pico.sh sub http.pico.sh run -d --name web web:latest # tail the logs ssh c.pico.sh logs -f web # wait for a git event to build your site ssh c.pico.sh sub git.push.neovimcraft run -d -v /artifacts:/app/public --name neovimcraft_build neovimcraft_build:latest # add a git hook to your repo or manually send the event echo '{"ref": "2f5dc3e", "commit_msg": "chore: update rfc", "ts": 1768270668}' | ssh c.pico.sh pub git.push.neovimcraft # fetch the build artifacts directly from container rsync -rv c.pico.sh:/neovimcraft_build/artifacts ./public/ # we might also want to figure out how to automatically upload the artifacts to our object storage system and let users tag them or run another job to upload them # remote into the job ssh c.pico.sh zmx neovimcraft_build # you now have access to a shell with the entire session history # dev tooling automatically installed # ability install any tools for debugging # pressing up-arrow + enter restarts the failed job # the command itself would look something like: docker run --rm -v /artifacts:/app/public --name neovimcraft_build neovimcraft_build:latest {docker_cmd}