A VPS deploy should be one container and one restart
Production runs a Docker image through Compose. FrankenPHP owns the HTTP and HTTPS ports, serves public assets, and executes PHP in the same runtime.
note
That keeps the deployment story small: pull the image, start the service, smoke-test the health endpoint, and leave before the server notices you were there.