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.