Live data from Hacker News

CapRover: Build your own PaaS

caprover.com

81–90 of 183 posts

Re: CapRover: Build your own PaaS

#82
post #7

Slightly nitpicky, but is something a PaaS if you run it yourself? Anything as a Service isn't a service if you're running it yourself. It's just ... infrastructure.

The distinction you are drawing sounds to me like the difference between "managed" and "unmanaged."

My read on whether something is a service or not is, can I make a request of the thing in simple terms, and have the thing carry out all the messy details on my behalf?

Re: CapRover: Build your own PaaS

#83
post #79

Earlier quoted context omitted.

Here is an example of post-receive script I use for that: #!/usr/bin/env bash export APP=appname export DOCKER_OPTS="" unset GIT_DIR rm -rf /home/username/apps/$APP cd /home/username/apps && \ git clone /home/username/git/$APP && \ cd $APP && \ echo building image && \ docker build -t $APP . if [[ "$?" != "0" ]]; then echo "error while building image." exit 1 fi echo "Stopping previous container..." docker stop $APP…

You should at least use `set -u` in this script, otherwise, at some point, you'll fail to set $APP and end up running: rm -rf /home/username/apps/ Guess how I learned this lesson? :)

Ooooh, I need to start documenting my war stories. They'll make for a fun read at some point years down the line.

Re: CapRover: Build your own PaaS

#85
I have been using CapRover for about half a year now on my personal server running multiple projects. It does what you'd expect and the configuration format is pretty easy to use, using any docker image directly works without any extra steps, just enter the image name and it'll do the rest. I'm pretty happy with it and will probably stay with it for the time being.

It's not the best for hosting many static pages, as you'll need a HTTP server for each site anyway.

But my main gripe is that there is only single factor authentication and you can't easily secure it more other than using a strong password and a hidden subdomain. (because of webhooks, acme, etc. I guess)

Re: CapRover: Build your own PaaS

#87
post #5

For those who have even simpler needs (like side projects, or 1 dev projects), I found using simply docker and git to be plenty enough. Basically, you can create a bare git repository on your server (`git init --bare`), and put a `hooks/post-receive` script within it that will clone sources in a temporary directory, build the docker image and rotate containers. That way, you can `git push` to build and deploy, and it…

I actually developed a system similar to this but used docker compose as an alternative to Procfiles and nginx+le to handle dynamic virtual hosting. It's actually a golang app that will automatically provision git repos with the necessary hooks and also allow you to exec into a container directly over SSH. I had the thought of using docker stack to achieve zero downtime but haven't had a chance to try that out. Happy…

Please open source it

Re: CapRover: Build your own PaaS

#88
post #57

Earlier quoted context omitted.

The definitions have always been pretty clear to me, but all right then, thanks for the heads up, I guess CapRover people and I are also what we call "old school devops" these days. "Container platform" seems pretty vague to me, PaaS means something I know right away. I mean, k8s is a container platform too isn't it ? But you'll need to build what we called a PaaS on top of it yourself (or use something like Kelproje…

Yeah, the terminology isn't always super-clear. Yes, k8s is a container platform. OpenShift, depending upon how you use it, can span a range from being an integrated k8s distribution to something a lot more like what was commonly called a PaaS with developer tools, CI/CD pipeline, registry, etc. PaaS isn't a verboten term or anything like that. But it turns some people off because it was most associated with services…

Well, for me PaaS is a software built uppon bricks like an image registry (also present in IaaS), authentication registry (also present in IaaS), developers tools ie. to log into a system (also present in IaaS). But, with the IaaS you get an infrastructure of bare virtual systems, emulating a physical world, and with PaaS you get deployments of code. A PaaS works on a IaaS, but can also run on baremetal, it doesn't matter for the PaaS in general. With PaaS, you don't need to define bare system provisioning, PaaS does it for you, many IaaS teams ended up implementing their own PaaS one way or another, back in the days you are refering to I guess.

k8s for me is a framework, OpenShit, Rancher, KelProject would be "distributions" of k8s, just like Linux kernel and distributions including it.

As a person who writes technical requirements and implementation document, it strikes to me when I'm asked to document implementation of a "SaaS" that there will be paid accounts and billing.

Maybe CapRover will provide paid accounts on managed servers in which case they would be creating a SaaS with their PaaS solution.

But again I'm not talking from a "managerial" perspective of the definitions, rather from a technical one. I suppose at this stage CapRover is trying to attract technical users rather than managerial ones (unless they have something to sell for cash but I didn't see it on their site or just missed it)

Re: CapRover: Build your own PaaS

#90

Another great alternative in this space is dokku[0]. Haven't tried CapRover recently but it looks fantastic. [0]: https://github.com/dokku/dokku

i used dokku a couple years ago for a side project. It worked really well ( especially the newer versions ). It was super nice when the letsencrypt plugin came out, SSL support with trusted CA signed certs built right in!
Post reply on HN