Hello, I'm currently writing an e-commerce website with Laravel and Laravel Nova (as an admin panel). I want to start deploying the app and created a DigitalOcean account. After some searches about the deployment process, I saw that the setup via DigitalOcean (using Droplets) isn't very easy for beginners. Now I'm not sure how to deploy my app. I am in between Laravel Forge and DigitalOcean (?Apps Platform or Droplets?). I've read that Heroku and Laravel Vapor are a bit expensive. That's why I didn't consider them yet. I'd be happy to read your opinions on that topic!
Probably the best bet is to go through dockerize your application and you'll be free to deploy anywhere since almost any host company offer some way to deploy using docker images.
I've made some simple infra to deploy a laravel app using docker image with docker compose behind a traefik to offer a blue green deployment, pratically the same container was deployed to a production and staging system, only changing some environment vars using 12factor. This pipeline mentioned uses gitlab ci to build the docker image, run tests and if the branch is staging/development or main, the deploy occurs through gitlab runner, connecting to a customer VPS and do the script to pull the image, sinalize traefik to direct traffic from the old container image to the new one.
Thanks for the reply. I'll take a look at your suggestions.
Considering that you mention "isn't easy for beginners" I'd suggest Forge and Digital Ocean. They're still the most simple ones available out there. Docker would be a good solution too, but there you need to understand docker and the services you're connecting to, and some level of orchestration. In my experience, these are not trivial at all, especially for beginners.
Envoyer comes into the picture as a missing piece that can be used for deployment, and integrates with Forge and DO quite well.
I'd be happy to help you with a basic setup (DM me on Twitter or Github).