Move main app into app/, move all setup commands into a single shell script, and use bind mounts and files instead of sockets to communicate with the job runner in the container.