Managed deployment services like Laravel Forge and Envoyer are excellent and I use them on larger client projects. But you don't need them. Everything they do is SSH commands and symlinks, and you can do those yourself for free.
Source: [Dev.to](https://dev.to/dineshstack/zero-downtime-deploy-to-a-vps-with-github-actions-15a9)