How to set up a docker-compose and Dockerfile to deploy a Laravel app?

Hi, I recently finished developing a Laravel 9 app, using wsl2 and sail, just like I was told in the Laravel documentation. Since it’s my first time deploying to live ever, I ran into some differences with local and production files such as .env, docker-compose.yml and Dockerfile. I tried using guides and tutorials but I can’t seem to make sense as to how to make it work. I have a droplet with a non-root user with sudo privileges, since I used these two kind guides: after finishing with the installation, I tried to clone my app and run it like I do locally, and nothing happened. I realize I can’t use sail on the server, but what is the correct way to make it work?

Submit an answer
Answer a question...

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Bobby Iliev
Site Moderator
Site Moderator badge
April 18, 2022


There are a couple of things that you could do:

  • You can deploy your Laravel application without using Docker on your production server. You can follow the steps on how to do that here:

Also, you could automate your server setup by using the following script:

  • Alternatively, rather than using a Droplet, you could use the DigitalOcean App platform so that you do not have to do any server management and you would also get automated deployments whenever you make changes to your code:

Hope that this helps! Let me know if you have any questions!