Live data from Hacker News

CapRover: Build your own PaaS

caprover.com

151–160 of 183 posts

Re: CapRover: Build your own PaaS

#151

Earlier quoted context omitted.

Have you used Dokku before, or did you look at it before settling on CapRover? (I'm just starting to look at both)

I'm a very happy Dokku user, I've been using it for years with no problems, though CapRover seems very interesting.

Given your Dokku experience, do you mostly interact with Buildpacks or Containers? And why?

Re: CapRover: Build your own PaaS

#152
post #150
post #137

Earlier quoted context omitted.

Single factor is more than fine in the case where you know the admin (yourself) is going to use a 30 char random password and use a password manager that won’t autofill it on phishing domains.

Hi sneak, I left a comment explaining my journey with CapRover in this HN thread. In there I explained one thing which concerned me was "netdata image in use is spyware #553" which you raised last year. I haven't yet gone through the discussion but would you mind letting me know if you're satisfied with the outcome? You appeared to be fighting for increased privacy, so thank you. Also you'll see that in my comment, I…

Kasra here from CapRover. Regarding "netdata image":

- sneak and I have fundamental differences in what we call spyware. The issue that was brought up in that thread is standard analytics events - nothing like stealing passwords or etc.

- Regardless, CapRover uses NetData 1.8 [1] . According to NetData's github page, they added analytics in NetData 1.12 [2] , so even if you're concern with analytics events, this issue won't apply to you anymore.

Regarding two factor auth: CapRover blocks brute-force attacks by limiting number of wrong passwords per minute.

[1] https://github.com/caprover/caprover/blob/48440db14aa115aca1...

[2] https://github.com/netdata/netdata#quickstart

Re: CapRover: Build your own PaaS

#153
post #150

Earlier quoted context omitted.

Hi sneak, I left a comment explaining my journey with CapRover in this HN thread. In there I explained one thing which concerned me was "netdata image in use is spyware #553" which you raised last year. I haven't yet gone through the discussion but would you mind letting me know if you're satisfied with the outcome? You appeared to be fighting for increased privacy, so thank you. Also you'll see that in my comment, I…

Kasra here from CapRover. Regarding "netdata image": - sneak and I have fundamental differences in what we call spyware. The issue that was brought up in that thread is standard analytics events - nothing like stealing passwords or etc. - Regardless, CapRover uses NetData 1.8 [1] . According to NetData's github page, they added analytics in NetData 1.12 [2] , so even if you're concern with analytics events, this issu…

Thanks Kasra, yes it seemed 'spyware' was disputed and I didn't want to jump to any conclusions. But it's good to know it's a non issue.

RE: 2fa. Brute force protection is a step in the right direction, but passwords can leak in various ways, brute force isn't the only attack vector. I'll comment in the actual two factor auth discussion on the CapRover GitHub issue though.

Re: CapRover: Build your own PaaS

#154
post #150
post #137

Earlier quoted context omitted.

Single factor is more than fine in the case where you know the admin (yourself) is going to use a 30 char random password and use a password manager that won’t autofill it on phishing domains.

Hi sneak, I left a comment explaining my journey with CapRover in this HN thread. In there I explained one thing which concerned me was "netdata image in use is spyware #553" which you raised last year. I haven't yet gone through the discussion but would you mind letting me know if you're satisfied with the outcome? You appeared to be fighting for increased privacy, so thank you. Also you'll see that in my comment, I…

The version of NetData included in CapRover is a version from before when NetData became spyware, so it’s fine. (Note that I haven’t audited it, that’s just what I’ve been told.) NetData is also optional; I use CapRover and do not opt to install it.

Brute forcing a 30 char (or even 20 char) password over the network is infeasible. Do the math. Regardless, as the CapRover developer pointed out in a sibling comment, it rate limits attempts, but in the case where you are using a long, random password, it would be fine even if it didn’t.

Re: CapRover: Build your own PaaS

#155

Earlier quoted context omitted.

>web services that require high availability, redundancy and reliable backups. For these I just use Heroku. How do you handle Heroku outages then?

Heroku outrage free was 99.9999%+ over the past 60 days[1], I'd have a hard time achieving this with a single dedicated server. [1] https://status.heroku.com/

Do you really mean that you never had a server with 60 days uptime ? This is really insignificant to achieve, even a reboot per month is nothing, 99.9% of uptime is enough for 99.9% of projects, and a monthly reboot does not even get you close to that service level.

I am not affiliated nor haven't tried CapRover (for special reason of: coding my own for my tastytastes), but I would bet any standard system administrator could get a 99.9% uptime after the second month of production without particular effort (unless they don't know underlying technologies ie. "what a container" "what http" "what is namespace" "what iptables" ...)

Re: CapRover: Build your own PaaS

#156

I have been using CapRover and love it. I donate to their OpenCollective[1]. For those noting "why don't you just use Linux / k8s / ...", that feels close to the original complaints re: Dropbox on Hacker News[2]. I've run clusters hundreds of nodes in size myself but CapRover gives me the pleasure of not having to sweat the small details. You can get this from other platforms but usually there's a dollar cost tied to…

> If I need to scale up, everything I'm pushing is Docker containers.

Does CapRover manage a shared storage or do you still manage it yourself (ie. Ceph, gluster ...) ?

Re: CapRover: Build your own PaaS

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

How exactly is the zdd you're talking about ? zdd for 100% of use case seems like quiet a rabbit hole, particularly when any kind of data migration needs to happen. I suppose my question is: at what point can we claim doing zdd ?

Re: CapRover: Build your own PaaS

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

The problem with nginx based setups is that one wrong container option (label, env var, etc ...) may cause a syntax error in the nginx configuration file and then nginx won't start, so all services will be down. Loved apache, loved nginx, but I can see traefik is the only http server on my tech blog for the last years...

Nginx is made to load a configuration: you don't have the auto-configuration that comes with service discovery. Service discovery is doable with a standard HTTP API through /var/run/docker.sock or /var/run/podman/podman.sock in more advanced systems.

As such, service discovering HTTP servers are more reliable because it's built with a service isolation from the ground up: if one service has some poor value then it won't work, but it won't block the other services.

Nginx is too far behind now, they might have some service discovery module, but even then the thing that happens when your configuration autogenerates (like with snapshot testing) is that you still have to read the configuration it generates. Traefik offers a great dashboard for this so it's even more pleasant than reading a configuration file that you didn't even write ;)

For sure, I bet that in a patch into something like CapRover (or your own solution), changing nginx to traefik would end up removing quite a lot of code ;)

I'm not really sure what you mean "acheiving ZDD", ZDD is complicated any time there's a data schema migration, not to mention that containers deployment traditionally is "delete a container: KILL a process" and "create another one like cattle". uWSGI for example, could gracefully renew every worker process on SIGHUP, but re-creating the uWGSI process in another container defeats that. Maybe you have some kind of blue green deployment, maybe even canary, in this case I wonder if basing a container platform on configuration files such as those for nginx would really make it to ZDD. Would love to read more about your setup

Re: CapRover: Build your own PaaS

#159

Earlier quoted context omitted.

Have you used Dokku before, or did you look at it before settling on CapRover? (I'm just starting to look at both)

I have experience with Dokku, Flynn (also look at this if you're looking at Dokku), CapRover, k8s, and a tiny bit of Nomad. I think CapRover has the best experience out of the Dokku/Flynn/CapRover "group". Not a huge Dokku fan. Would use Flynn over Dokku again, but I'd rather use CapRover over both. https://flynn.io/ If you're intent on using Dokku, there's a useful web console: https://github.com/palfrey/wharf

I would agree with that. I’ve used most of the various options for a DIY PaaS and also prefer CapRover.

CloudRon [1] is actually really great, but its pricing is prohibitive (and changes frequently) for side-projects, which is when I most want to use something like this rather than just deploying/managing the k8a myself.

[1]: https://cloudron.io/

Re: CapRover: Build your own PaaS

#160

Can some developers explain to me why they don't want to set things up themselves? If you already know how to do it, it's not very time consuming. If you don't yet know how to do it, learning how it all works only benefits your understanding of the service you're providing, and empowers you to fix it. It's almost like learning a new trade, and can give you a new perspective how your code runs. Maybe it's because ther…

I mean, speaking for myself — I know how to set things up for myself and have done it plenty of times, but sometimes for side projects and playing around, I just don’t want to go through that process. I like having a dashboard I can login to, I like having to install one thing rather than having to setup my environment from scratch the same way every time. And I like that if I have to let someone else have access to something, I can give them something without having to pray they don’t break something or teach them.

Honestly, I do a lot of the setup work for my actual job — including documenting/creating demos and examples for others — when I’m doing my own side stuff, I really just don’t want to bother, especially if it isn’t in production and it’s just on the home lab.

To use a crude analogy, I could build my own robust NAS with hardware components and a BSD or Linux distro optimized for storage and acting as a home server with better performance at a lower price than a Synology system. Or I could continue to use my 8-bay Synology NAS (that I really want to upgrade), because the appliance nature is worth the extra cost and pure performance deficits. There was a time I took great pleasure in maintaining all that stuff myself but honestly, I just want to plug it in and know it’ll work with all my machines without having to think about it.

Post reply on HN