Best deployment choice? :(

Hi Guys,

What is the cheapest and easiest type of deployment for a Strapi project (with MySql database)?
What I’ve tried so far:

  1. V-Server (Windows) - unstable, sometimes very slow
  2. Heroku - very simple, but the database (ClearDB) is too expensive in the long term.
  3. DigitalOcean - Unfortunately I haven’t had any success with the installation yet. I have a question about this: If I use the one-click variant, how do I proceed so that I can merge my existing project into the new DigitalOcean Strapi project?

I haven’t tried any other species yet. What are your experiences? Does Strapi offer depolyment service?

Thanks in advance!

1 Like

The one click is really geared for rapid testing, if you already have an existing project it’s probably best to setup the VPS manually.

ClearDB isn’t actually one we support, Heroku offers PG and there is also a 3rd party add-on for MariaDB from Jaws. (But I agree it’s not a good choice)

Yeah windows performance in production will be quite slow.


Vultr, Linode, DigitalOcean Apps (we have a webinar tmrw about this: Strapi Meetup: Building Fullstack Web Applications on Digital Ocean App Platform | Strapi ), AWS, GCloud, ect.

3 Likes

@DMehaffy Thank you for the quick answer and the good info! I am motivated and will attend the webinar tomorrow. :+1:

@DMehaffy Thanks again for the information about the webinar.
I was there yesterday and I am watching the repeat. There is something I haven’t understood yet:
Daniel and Chris uploaded an existing Strapi project to Github and created a database, but I did not see that they transferred the data from the local database to the new DigitalOcean database.

Will the data be created in this case, or what is it like?

SunnySon has already answered my question on Slack, I’ll test it myself in a moment. :slight_smile: :+1:

1 Like

Yesterday I got my Strapi project up and running on DigitalOcean with SunnySon’s help. Thanks to you all… :tada: :+1:

2 Likes

Did you work out how much it’s going to cost?

@IPWright83 Hello, the prices for deploying an app are okay on both digitalocean and heroku. Since I always use MySql, I first looked at the prices for MySql on Heroku. 10 $ / mo for only 1GB is a bit too expensive, so I’m trying these days to switch my data from MySql to PostgreSql. Then I get 10 Gb for the same price. I imagined that for the beginning <$ 30 per Strapi project (incl. Database) is okay.

By the way, I have a little problem on DigitalOcean. I’ll write a question about it right away and paste the link right here. :thinking:

P.S .: I have a little problem on DigitalOcean, unfortunately I haven’t found out where the problem is.
:snail:

I’ve never messed with the existing database option in the DO Apps :thinking:

Might be best to ping DO support on that one?

Would you care to share your solution here?

1 Like

@depsimon Now I’m back on Heroku because I got a problem on DO:

How to take PostgreSql on Heroku, the price is okay.

Here is a simple tutorial:

Ah I see.

I managed to get mine running from a Laravel Forge provisioned DO server.
Laravel Forge really install & configure all the heavy stuff, I just had to update the Nginx config file.

1 Like

How should one go about deploying strapi with MySQL? any resource or help? Can you pls share how you did it(with minimum cost implications)?

If you really care about flexibility, cost efficiency but struggle a bit with DevOps (my story :blush:) then I would suggest you the following:

  1. Make yourself familiar with Docker and learn how to containerize your Strapi project
  2. Get a cheap VPS on Digital Ocean, Vulture, Hetzner etc. (Recommended is >= 1CPU 2GB RAM)
  3. Make sure you get the basics of server security right when setting up your VPS
  4. Don’t reinvent the wheel and make use of CapRover or Dokku to create your very own PaaS (in other words Heroku)
  5. Install your MySQL/PostgresSql/MongoDB
  6. Upload your containrized Strapi (best via Github/Gitlab for CI/CD)
  7. Connect your project with your database
  8. Run a cheap and flexible project :rocket:

Optionally you could consider opting for a managed database from Digital Ocean, Heroku etc. to hand over the DB provision and security to an expert provider. For a small/mid-sized project I do not see the value in this though.

That is 1:1 my setup and it has been working great so far. Curious what others think about this approach.

3 Likes

@Dominik Thank you very much for your detailed and helpful answer! :+1: :grinning:

At the moment I don’t use DigitalOcean anymore. I also switched from MySql to PostgreSql. :slightly_smiling_face:

For those that don’t want to go the docker route (as I myself am not a huge fan of) If you want “enterprise” level automation for basically free I’m currently working on various Terraform + Ansible + Cloud providers in combination with Cloudflare for their DNS API and Let’s Encrypt via acme.sh for managing SSL certs.

These are still very much a WIP with the Vultr one being the most complete, however I have lightly tested the DigitalOcean one. Currently the only part I don’t have documented is the Ansible instructions, but it’s pretty straight forward if you are a newbie with Ansible.

My Docs site: https://docs.strapi.guru

The “test” Strapi project it deploys (you should create your own as I don’t update this): GitHub - derrickmehaffy/strapi-deploy-example: Example Strapi app used my Terraform + Ansible deploy templ

1 Like

Good suggestion, I’ll test it! :+1: :beer: