DEV Community

Cover image for CapRover : Dumb name, awesome tool
aaronblondeau
aaronblondeau

Posted on

10

CapRover : Dumb name, awesome tool

Render.com raised their prices last year. Their "Starter" instance type (512 MB / 0.5 CPU) is $7 per month. The next step up is their "Standard" instance type (2 GB / 1 CPU) which increased to $25 per month. Most of the services I manage are too big for a 512MB instance and to small for the 2Gb instance. If you're up for a laugh go check on the pricing of their 4GB and above instances. Current pricing is here. On render.com you can only run one app (container) per service so there isn't a way to leverage extra capacity either.

So how am I going to cost effectively host all of our services now? One option is to run everything on a self hosted VM using a combination of GitHub deploys, PM2, and Caddy which I wrote about a while back. While extremely reliable, that setup has some issues. The main one being that it results in a very opaque configuration that would be nearly impossible for someone else to maintain.

Enter CapRover.

Wait a second... "CapRover"? Rover is definitely a funny dog name, but something about CapRover is really annoying to me. There has to be a much cooler play off the word "captain" for a tool like this. I honestly almost didn't try it out because of the name, but I sure am glad that I did.

CapRover is an open source platform as a service. Send your code and it'll run it with docker and proxy it with nginx. I found it to be one of those great open source projects that just worked for me. No weird hacks or gotchas.

Here are my favorite things about it so far:

  • Great documentation. Every time I had a question I found exactly what I needed in the docs.
  • Easy setup. Create a VM > Install Docker > Point a domain at it > Run the setup script > Boom - done.
  • Let's Encrypt. CapRover automatically configures each service with nginx. SSL certificates (on multiple domains too) are just the click of a button.
  • Automatic deploys. For GitHub deploys CapRover creates a webhook for you to add to your repo. No complicated github actions.
  • Clustering. The docs indicate that you can setup a cluster. I didn't try this out myself but it helped me feel confident that I could scale up if needed.
  • It's just docker + nginx. Under the hood CapRover is just a thin wrapper around these two phenomenal tools. I love the simplicity of it all.
  • Maintainable. If someone new ever needs to take over managing these services they can just log in to CapRover, see how everything is setup, and go from there.

Things I didn't like about CapRover:

  • I wound up needing to create a custom Dockerfile for projects that had run on render.com's node.js runtime. This is actually a good thing. Now I can run them pretty much anywhere.
  • It looks like quite a few of the One-Click Apps are out of date, but you can manually update the image tag.
  • With a self-hosted solution there isn't anyone to blame if something goes wrong. For my CapRover instance I make sure to regularly snapshot the VM so that I can quickly restore if needed. Definitely can't promise very many 9's of uptime with a rig like this.
  • Finally, I kinda wonder if CapRover is still alive. As I write this it has been over 60 days since there has been any activity on their GitHub.

In this age of rapidly increasing costs, a tool like CapRover can unlock huge savings. I highly recommend you give it a try.

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (2)

Collapse
 
jorge_f248c64929b1ca86c17 profile image
Jorge

Hi everyone.
I did setup cap rover and also i deployed an wordpress app; however when deploying django app returns NGINX 502 Error :/
If you are the developer, check your application's logs. See the link below for details.
If anybody there can help me I will send more details.
Thanks..

Collapse
 
zakwanibrahim3321 profile image
Zakwan Ibrahim

I am utilizing it from last 6 months and I am happy that I found that tool,

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay