Public Hosting - Laravel - Github

Hi,

I’m looking for a good hosting provider / solution.

It would be great to not have to manage the server myself but have good control. Initial setup is not a problem, but long term maintenance is what id like to avoid here

Since my local dev environment is Laravel Homestead, it would be great for it to play nicely with that. So leaning towards hosts / services that are really good / based off Laravel

I manage my code via a private GitHub repository, my live site will always be my main branch.

Website will always be updated / managed locally and updates served via a push. IE Panel disabled on host.

Kirby is setup as a GitHub submodule, so ideally hosting works with that

I’m located in London.

My website is essentially an image portfolio, so high resolution good quality image rendering is crucial. “Needs to be fast”

Required to work with GitHub main branch. IE main published branch is always the live site without human intervention.

I use AWS Route 53 to manage my domain names and dns records / routing

Good value.

Things I’ve considered.

AWS LightSail - This is a no go I’ve used this in the past and things broke got messy. Not with Kirby but WordPress and generally was disappointed, maybe through my own ignorance. But yeah just seemed a pain

AWS Beanstalk - I havnt tried this but seems interesting, my main concerns are the setup and the hard to judge and understand pricing. With Kirby not relying on a database, what resources would this spin up. Also I’m slightly worried this may be geared towards larger application that simple portfolio websites?

Some kind of AWS setup, S3 lambda - This will require some serious research on my part and was an idea if beanstalk wasn’t suitable

Forge plus one of their recommended VPS’s - This seemed perfect and was going to trial it until I realised that its a middleman to configure a VPS, “I think” so id be paying forge and a host.

Standard managed hosting. - Not sure which ones if any would be able to always run off my main GitHub branch without and user interaction other than me pushing / merging to my main branch?

Nothing seems to be ticking all the boxes but maybe and probably down to my own lack of knowledge, but it would be great to know what others things here.

Thanks

Maybe look into Krystal, they have everything from shared hosting to fully managed VPS:

1 Like

Personally Ive used Krystal that @texnixe mentioned for years and couldnt be happier, and im also based in the UK.

Another good choice is Fortrabbit https://www.fortrabbit.com/ based in Ireland which i believe actually runs off Amazons infrastructure. They manage the server for you but priced more like standard hosting. Ive run a couple of projects there in the past with good results.

Edit: forgot to say - i use Krystals reseller hosting rather than individual hosting accounts for each client. This way i can manage them all from under one roof UK Reseller Hosting | Krystal Hosting

1 Like

Thank you both! For the github clones do I need an account that includes ssh?
Im not sure thier lowest plan does but just testing to see what i can get away with

SSH access is usually included in all decent hosting, and I would expect you to need it if you want to auto-deploy, no matter if you do this via GitHub actions or a service like Ploy.io, DeployHQ and the like.

This requirement I don’t understand and somehow doesn’t make sense in the context of hosting.

1 Like

Hi It seems Krystal which you recommended earlier doesn’t include SSH in it’s basic plan only git, this is why I ask. You have to upgrade to the second plan, which isn’t a problem just not include in basic. They do have git but to use it in my context I would need SSH, to set up key pairs etc. The workaround is deployHQ etc. but these services seem a little convoluted, ie, another step whereas ssh would suffice. “I think”

Regards to Laravel, well my local dev / Kirby environment is using Laravel,
Krystal offers an instant Laravel installation. You click install and its ready, IP / domain points straight to the Laravel landing page. I though thats great as I’m developing my website locally with Laravel?

No, I think you are developing your app with Kirby. Homestead is just a product by Laravel which provides a local dev environment. But that doesn’t mean you are using Laravel framework to develop your website.

Agreed but if laravel is the web framework I have chosen just like Kirby is the cms I have chosen… so therefore I would install laravel on the host server aswell as Kirby just like I would in my local development environment? As long as I want the environment to match?
I realise I could just use hosting without laravel at all but my understanding was the point of using it was to simplify the management of this stuff and also be able to have a local env which matches the host / production env?
I could well be misunderstood so please explain why if I am, apologies I do realise this is not entirely Kirby related, but useful info in the deployment of Kirby anyhow

Please explain what exactly you are doing with the Laravel Web framework (https://laravel.com/)?

I have a feeling that this is a misunderstanding on your side. You are using Homestead to provide a server and some more infrastructure, but I doubt you are using the Laravel framework together with Kirby, correct me if I’m wrong.

Look, I’m using Laravel Valet for running my Kirby sites locally, but that doesn’t mean I’m using Laravel framework to develop my websites. And I certainly don’t need to install Laravel on my remote host.

Ok I get it now since I’m not using Laravel for anything specific complex then I should not use It on my hosting platform.
Would it almost be a silly idea to do so?
Apologies I think I wrongly assumed that matching the two environments by installing Laravel on both would be a good sensible idea.

Thanks Again

The point is that no matter what development environment you use (MAMP, Laravel Valet, Laravel Homestead, WAMP, XAMPP), they all come with some server software (usually either Apache or Nginx and a PHP runtime and in some cases other software). If the type of server and your PHP version and ideally the installed PHP modules are identical between your local environment and your deploy host, then chances are that you will not run into issues between these environments. However, it is sometimes inevitable that there are certain differences, because you don’t know exactly what is installed in what version, unless you set up the server yourself.

To reduce these kind of issues, some people develop based on and deploy Docker containers, where everything is already packaged together, so no difference between local and remote.

So assuming you buy some shared hosting to host your site, you will not even be able to install something like Laravel Homestead, because such a package already has a server and a PHP runtime installed, and because you do not have the rights to install something like that.

In any case, local development environments are made for exactly this purpose: to provide a local development environment. They are not meant to be installed on a production server. I quote:

Laravel Homestead is an official, pre-packaged Vagrant box that provides you a wonderful development environment without requiring you to install PHP, a web server, and any other server software on your local machine

And as regards the Laravel PHP framework, this is independent of this local development environment provided by Homestead. This framework is intended for building PHP applications, but Kirby is not built on this framework, so you don’t need it at all.

1 Like

I can highly recommend Ploi.io, it is a SAAS middleman between you and your server(s), like Laravel Forge. Dead easy to setup and use.

I know you discounted Forge, as you’d be paying them and the host, but Ploi is ace and it sounds like it would really suit your needs.

Plus, they are cheaper than Forge and also have a free plan which may work for you if you’re just looking to host a single site.

(I’m not affiliated with Ploi at all, just been happily using it for my own sites for about 2.5 years).

1 Like