Live data from Hacker News

CapRover: Build your own PaaS

caprover.com

51–60 of 183 posts

Re: CapRover: Build your own PaaS

#51
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…

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…

[deleted]

Re: CapRover: Build your own PaaS

#53
this makes me so happy - to see a PAAS on Docker Swarm!

However, I wish the caprover had built this experience on top of kubernetes (or k3s) instead of Swarm. The future of Swarm is really unknown and the ecosystem is undoubtedly behind k8s.

Re: CapRover: Build your own PaaS

#54
post #26

Earlier quoted context omitted.

Not nitpicky at all - this is an important distinction to highlight for pointy-haired decision makers. This product is undoubtedly the P in PaaS, but there is no service behind it. If your company uses this as an alternative to a real Heroku/AWS/xyz PaaS, you must have engineers at hand for 24/7 ops, scaling servers and fixing bugs. In my opinion, this is quite risky for anything running in production and should not…

> should not survive a cost-benefit analysis I completely disagree, the difference of price between dedicated servers and even EC2 instances is completely amazing. This is what you get for less than $200/month with a dedicated server: 1× AMD EPYC 7281 CPU - 16C/32T - 2.1 GHz, 2 × 1 To NVMe, 96 Go DDR4 ECC, unmetered 750 Mbps In one of my companies the AWS bill is just completely insane, we have like half that hardwar…

Yes, hardware as a service will always be much more expensive than hardware you own. But it may be less expensive than the team you will require to run that hardware at an acceptable service level. It very likely will be less expensive than the opportunity cost of running your own hardware.

As an example of the latter bit, if you are running your own hardware and need to add another host and you do not have a spare lying around, then you need to order one. It has to be shipped. Someone has to unpack it. Someone has to make sure that the data centre has sufficient power. Someone has to install it, its power and its network cables. Each of these steps takes time, but also each step is an opportunity for friction.

By contrast, with a service, you would just add a new host. Five minutes later you are up and running. That gives you an operational nimbleness that you wouldn't otherwise have had.

Re: CapRover: Build your own PaaS

#57
post #38

Earlier quoted context omitted.

Neither you nor the parent are wrong but I'd argue that you don't really see IaaS or PaaS used all that much for on-prem platforms these days. (And the definition of PaaS was always a bit fuzzy--something like an abstraction that is in between IaaS and SaaS. You're probably more likely to see OpenStack called a private cloud or on-prem cloud than "IaaS" these days. And OpenShift is usually called a Container Platform…

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/products/projects that mostly focused on a simplified developer experience at the cost of flexibility.

Re: CapRover: Build your own PaaS

#58

I'd be interested to know how people who use this kind of thing (or Dokku, etc.) keep their OS, database, applications, etc. up to date, for security reasons if nothing else.

You update your image, stop the container, start the container (with the new image). That's all.

You can create complex containers that could update with security fixes without restarting. But it is easier to update an image e.g. once per week/day and auto restart the containers.

Re: CapRover: Build your own PaaS

#59

Can I say it's a poor man's Kubernetes?

Sort of yes, for personal projects and small business I would go for something like this or dokku and try to split services as much as I can, rather than managing k8s in my own

But if the K8s cluster is managed by cloud (e.g. AWS, Google, even DO), is this/Dokku still worth it (easier)?

Re: CapRover: Build your own PaaS

#60
post #58

I'd be interested to know how people who use this kind of thing (or Dokku, etc.) keep their OS, database, applications, etc. up to date, for security reasons if nothing else.

You update your image, stop the container, start the container (with the new image). That's all. You can create complex containers that could update with security fixes without restarting. But it is easier to update an image e.g. once per week/day and auto restart the containers.

I've been using portainer for managing a handful of basic containers on my home server (zoneminder, deluge, jellyfin, unifi controller). Overall I really like it, but some kind of feature to do this is probably the #1 thing I'm missing. It even lets you launch "stacks" from a compose file in a git repo, but doesn't have any facility to remember that info or do a redeploy, so you're basically starting from scratch every time:

https://github.com/portainer/portainer/issues/1753

Post reply on HN