What is the cheapest and easiest type of deployment for a Strapi project (with MySql database)?
What I’ve tried so far:
V-Server (Windows) - unstable, sometimes very slow
Heroku - very simple, but the database (ClearDB) is too expensive in the long term.
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?
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.
@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?
@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.
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.
If you really care about flexibility, cost efficiency but struggle a bit with DevOps (my story ) then I would suggest you the following:
Make yourself familiar with Docker and learn how to containerize your Strapi project
Get a cheap VPS on Digital Ocean, Vulture, Hetzner etc. (Recommended is >= 1CPU 2GB RAM)
Make sure you get the basics of server security right when setting up your VPS
Don’t reinvent the wheel and make use of CapRover or Dokku to create your very own PaaS (in other words Heroku)
Install your MySQL/PostgresSql/MongoDB
Upload your containrized Strapi (best via Github/Gitlab for CI/CD)
Connect your project with your database
Run a cheap and flexible project
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.
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.