Hosting Configuration + Provider Recommendation?

I’d like a recommendation first for what type of configuration to use and then which hosting provider would be a good choice for that.

Some Background…

Way back in the day when I did a lot of client work I used to have a “reseller” hosting account and it seemed to work ok for my needs then. Then, I spent years working for larger organization. These days, I’m doing a few side projects and it may turn into even more. But right now I’m using super cheap shared hosting on Namecheap.com. I experience some serious slow downs (probably typical for shared hosting) which drive me a little crazy. I also don’t like the add-on domain structure with the shared hosting (afraid I’m gonna overwrite an entire site in a subfolder). And in addition to that, I’ve been trying out Deploybot.com to handle pushing stuff out for testing (I’ve yet to use it push a site to it’s live server). My current setup is very cheap, but a bit frustrating.

What should I do?

So I’m asking you, the real pros, what you’d recommend. Should I be looking into a VPS like Digital Ocean or Linode? If so, how easy is it to get up and running with that managing multiple sites (plus staging + live locations)? I don’t want to spend very much time managing the server. Of course I don’t want to spend a lot of money either. :wink: Or is there some other hosting/configuration option you’d recommend?

I’m a happy user of Linode + Laravel Forge (for provisioning and managing the server).

Server

I already tried Digital Ocean, Amazon EC2 and Linode. The last I tried was AWS because they have datacenter in Brazil but even with lower latency, it was much expensive and slower. Digital Ocean is good but Linode offers double the RAM for the same price and has been the fastest of the three in my experience.

I haven’t provisioned nor configured this server on my own. For that I used another service:

Managment

Laravel connects to your VPS provider then creates and setup the server on your behalf. It even handles all security best practices for you.

Forge installs all you need to run any modern PHP app/site. It’s super easy to add sites and install them from any Git service, activate free SSL certificates, configure cron jobs, auto-deploy and a lot more. You should definitely check it out.

I don’t know Deploybot but Forge includes basic auto-deploy so you may not need it after all.

Conclusion

The basic Linode box + Forge cost me $20/month (I have the old Forge plan, today it cost $5 more). For that I get great performance and control over my server. In over a year with that setup I haven’t had any issue.

All I needed to do to get Kirby to work with Forge was tweak the default Nginx configuration. Other than that it work out of the box.

If you have any question about this setup I’m happy to answer :wink:

4 Likes

@pedroborges Forge looks fantastic. It seems to do what Deploybot does and a bunch more. This looks like exactly what I’m looking for. How is Laravel a part of this setup (I’m not very familiar with Laravel)?

Laravel is a popular PHP framework created by Taylor Otwell. He built Forge with Laravel apps in mind but made it generic enough that it also works great with Symfony apps, Wordpress and any PHP or HTML project. So you don’t even need to know what Laravel is in order to use Forge.

The server Forge provisions for you comes preinstalled with PHP 7.1, Ngnix, MySQL or MariaDB, Memcached, Redis, Git, Composer, Gulp, Node.js, NPM, Yarn, add few other things. Out of those I mainly use PHP, Nginx, Memcached, Git and Composer for my Kirby projects. I also have installed the Kirby CLI on the server to help with clearing cache and the thumbs after deploy.

By the way, Forge will get an updated UI and new features today. Keep an eye on Taylor’s tweets :smirk:

3 Likes

@pedroborges Sounds interesting, thanks for sharing your experience. That would be an interesting topic for a cookbook recipe.

2 Likes

I’d be glad to write a detailed step-by-step on how to use Kirby with Forge :slight_smile:

4 Likes

@pedroborges That would be absolutely fantastic :slight_smile:.

New features are coming out today, so I’ll just get familiar with them before writing about it. I’ll get back to you soon.

@pedroborges Thanks! I’m looking forward to reading this step-by-step cookbook article! Also be sure to post your affiliate link for Linode. I saw it in one of your other posts but definitely post it here so I (and others) can use it as a thank you. :slight_smile:

Thank you! I have updated my post to include the links. Forge doesn’t have an affiliate program but I can’t recommend it enough, great service and way cheap for all it does.

1 Like

Created my account on both Linode (using your referral link) and Forge. I played with provisioning a server which was quite easy via Forge. Looks like site management is made quite easy through Forge as well. My biggest question right now is what do I need to do use kirby with Nginx and Laravel. I’ll patiently wait for your write up. I got other things I can work on.

Thanks again @pedroborges!

1 Like

Hi,

Another good VPS provider I’m happy with is Vultr and a similar service as Forge but with a Free plan is Server Pilot.


https://serverpilot.io/

The author of Forge has built several very good Saas tools. For instance, I like his deployment tool “Envoyer”. It’s similar to DeployBot but with many more features. You can use it alone or with Forge. Envoyer allows you to deploy your Kirby project from a Git repository on one or several VM (Linode, DO, Vultr …), Rollback if something goes wrong, receive notifications … Check it out!

https://envoyer.io/

And last but not least, take a look at Caddy Server, a very light and easy web server to configure with automatic SSL setting.

https://caddyserver.com/

4 Likes

Hi Pedro hope you’re well. Did you ever write this? (Realise it was a long time ago!)