News for hackers. Stuff that matters.
Re:Ask HN: So you moved off Heroku, where did you go? by andrasbacsai on Tuesday October 04, 2022 @05:04AM (#33077979)
Hey, Andras here, founder of Coolify (https://coolify.io). Coolify is an open-source & self-hostable Heroku / Netlify alternative.

Lots of features are added day-by-day and I'm open for new ones. Visit our Github (https://github.com/coollabsio/coolify) or our feedback page (https://feedback.coolify.io/) to get more info.

A few months ago, I quit my job and started to work on it full-time (best decision I've made).

It is not VC funded (said no to 30+ investors - time will let me know if it was a good decision or not ), but funded by the awesome community! <3

Why I'm mentioning this? Because I would like to focus on the functionalities, the community & the users and not the revenue and other boring metrics. I just would like to make a good software, enjoy the process and make people's life easier. I do not want to make millions of dollars from it. If me and my family could live happily, that is totally fine.

Let me know if you have an questions. I'm happy to answer them.

(Also I'm working on a cloud/managed hosting version of Coolify (https://beta.coolify.io/))

Re:Ask HN: So you moved off Heroku, where did you go? by vorillaz on Tuesday October 04, 2022 @12:44PM (#33082992)
I am a happy Coolify user and I could say that it is a promising and quite active project with a vivid community. The fact that you can self-host dozens of services using a single VM is a breeze of fresh air.

Furthermore, with just a bunch of dollars you can get a really good VM from Hetzner and host everything there. At the moment I am using Coolify for small Node.js apps as well as using a few more services: - VaultWarden. - Minio as an object storage solution. - Glitchtip as a Sentry alternative.

Essentially, if you are considering privacy and avoid paying a dime to Jeff directly or sideways (most of the PaaS services are built on top of AWS) projects like Coolify, CapRover, Dokku etc are the way to go.

Re:Ask HN: So you moved off Heroku, where did you go? by jrochkind1 on Tuesday October 04, 2022 @09:46AM (#33080287)
My whole purpose in using Heroku is to avoid self-hosting something, to get the "platform as a service." Is that not the main attraction of heroku? Maybe not for everyone, if the idea of a self-hosted product as an "alternative" to heroku has traction?
Re:Ask HN: So you moved off Heroku, where did you go? by lolinder on Tuesday October 04, 2022 @09:51AM (#33080349)
Presumably this is why the cloud/hosted version OP is working on has a good chance of being profitable. Open source means it's hostable as a backup plan, but the cloud version is there for those who want the convenience.
Re:Ask HN: So you moved off Heroku, where did you go? by ryanSrich on Tuesday October 04, 2022 @02:10PM (#33084380)
Right. It's not even about the initial setup and provisioning. I can handle that. But what I don't want to handle is constant maintenance. I get weekly notifications of maintenance that Heroku is doing for me. I have no interest in doing these things, or hiring anyone to do them.
Re:Ask HN: So you moved off Heroku, where did you go? by andrasbacsai on Tuesday October 04, 2022 @03:52PM (#33085795)
That will be Coolify Cloud :) (https://beta.coolify.io).
Re:Ask HN: So you moved off Heroku, where did you go? by jrochkind1 on Tuesday October 04, 2022 @05:44PM (#33087448)
Ruby/Rails aren't listed as supported apps. My how ruby has fallen. :(

https://docs.coollabs.io/coolify/applications/#supported-app...

Re:Ask HN: So you moved off Heroku, where did you go? by ek750 on Sunday October 09, 2022 @01:47PM (#33143532)
yeah, that's disappointing. I'm a Ruby fan and my latest startup is built on the rails stack.

It's using buildpacks though, so shouldn't it be (easily) supported?

Re:Ask HN: So you moved off Heroku, where did you go? by andrasbacsai on Tuesday October 04, 2022 @10:47AM (#33081163)
Yes, as lolinder mentioned, there will be a hosted version soon. :)
Re:Ask HN: So you moved off Heroku, where did you go? by masukomi on Tuesday October 04, 2022 @01:59PM (#33084198)
I think simple and not doing it yourself is the entire selling point for heroku.

Coolify sounds cool, And i love the idea of being able to have self-hosting as a backup which it would allow, but i don't want to HAVE to self host. Would rather pay Coolify to host for me until they go out of business / change direction, at which point i can continue on with the self-hosted bit.

Re:Ask HN: So you moved off Heroku, where did you go? by TimMeade on Tuesday October 04, 2022 @08:52AM (#33079594)
This (coolify) looks very interesting. Since others may have the same question as i do: Does it scale horizontally? We actually have our own racks in datacenter and if i gave 3 machines to it would they handle that?

I saw you mention the K8s soonest: is that your scaling solution? Seems it would be simpler.

Regardless I think we may look into this.

Re:Ask HN: So you moved off Heroku, where did you go? by andrasbacsai on Tuesday October 04, 2022 @09:20AM (#33079932)
You can attach any number of servers (and Remote Docker Engines) to a single Coolify instance (docker swarm is not supported).

If you are using a remote server, the building process of an application is done on the remote server and not locally (on Coolify's server), so Coolify won't be affected on how many builds are doing concurrently. The only limit is the CPU/Memory of your servers. :)

The ultimate & standard scaling solution will be K8s.

Re:Ask HN: So you moved off Heroku, where did you go? by thanzex on Tuesday October 04, 2022 @09:34AM (#33080133)
Hi! While the project does look very interesting, i'm kind of put off by the code. While it is pretty organized and neat, I can see that all of the services offered are hard-coded. Like the 330 lines long if-else chain in apps/api/src/lib/services/common.ts.

This way every time you need to set add a new service to coolify there's the need to ship a new version.

Why did you choose to go this way rather than a more generalized concept of a service? Wouldn't having a generic service architecture be more maintainable and ( imo ) more importantly add the capability to have a dynamic, global and customizable 'app store' of sort?

Re:Ask HN: So you moved off Heroku, where did you go? by thatwasunusual on Tuesday October 04, 2022 @10:41AM (#33081075)
> i'm kind of put off by the code. While it is pretty organized and neat, I can see that all of the services offered are hard-coded. Like the 330 lines long if-else chain in apps/api/src/lib/services/common.ts.

I agree and disagree.

I agree that this kind of approach to coding is something that would put anyone senior-ish off totally, but I disagree at the same time because it's only 20-ish services, and the code is easily refactorable.

My assumption - after having read code 30+ years - is that this is done on purpose, so that they want to stabilise the approach and refactor it later. Though, as we all know, there's no thing as "I'll fix this later" in programming, but still (in this case) not something that would put me off.

Also, it's on github, so I could always refactor it for them if I'm not happy with it.

Re:Ask HN: So you moved off Heroku, where did you go? by gbro3n on Tuesday October 04, 2022 @11:15AM (#33081553)
This isn't such a sin for a young project like this - Making code configurable adds overhead and it's often right to avoid 'over-configuration' along with 'over-abstraction' and other 'over-optimization efforts'. What is important is to isolate functions for orthogonality which will allow a project to be refactored according to priority needs further down the line.
Re:Ask HN: So you moved off Heroku, where did you go? by andrasbacsai on Tuesday October 04, 2022 @10:52AM (#33081246)
The reason, I (founder of Coolify) choose that, it was faster.

I’m currently making a feature, that will change this. All services could be defined with a simple yaml file that won’t be hardcoded. They will be sitting in a repository and everyone can add any service with a simple yaml file.

It is definitely more maintainable than the current solution, but with the current solution, I could iterate faster. :)

Re:Ask HN: So you moved off Heroku, where did you go? by datavirtue on Tuesday October 04, 2022 @12:18PM (#33082587)
Death to yaml. Thank you.
Re:Ask HN: So you moved off Heroku, where did you go? by nonethewiser on Tuesday October 04, 2022 @03:00PM (#33085083)
> Like the 330 lines long if-else chain in apps/api/src/lib/services/common.ts.

As far as I can see, there is no 330 line long if-else chain in that file. Nothing even close to it. Can you link to what you're talking about more specifically?

Re:Ask HN: So you moved off Heroku, where did you go? by lagrange77 on Tuesday October 04, 2022 @05:14AM (#33078045)
Looks really ...cool. When you say Netlify alternative, you're referring to commit-to-deploy functionality of static files only, not a global CDN and serverless functions, right?
Re:Ask HN: So you moved off Heroku, where did you go? by andrasbacsai on Tuesday October 04, 2022 @05:19AM (#33078065)
Yes, I mean that you can easily deploy static sites. It does not have global CDN and serverless functions (yet), but you can easily set a CDN (like bunny.net) in front of your sites and then it will be globally CDN'd. I'm using similar setup all my marketing sites. It is deployed by Coolify to a server and Bunny CDN will make it globally available. So I do not need to care about any traffic bumps (like I have at the moment) and all my commits are deployed automatically.
Re:Ask HN: So you moved off Heroku, where did you go? by awill on Tuesday October 04, 2022 @09:19AM (#33079922)
When did it become acceptable for the official installation method to be running a random script on your server?

No one should be running that without personally verifying each line. What if I want to uninstall it? (I haven’t looked at this script) but many don’t effectively clean up properly after uninstalling, as that’s an afterthought.

What is specifically wrong with the dozens of existing packaging solutions we already have?

Re:Ask HN: So you moved off Heroku, where did you go? by Abekkus on Tuesday October 04, 2022 @09:32AM (#33080099)
It became acceptable along with containers, so that the very OS the script is working on, is already isolated and disposable. You also mentioned dozens of packaging solutions. Which package manager should a single developer target first? Which package manager offers safety assurances enough that a customer wouldn't need to "personally verify each line" of the package manager's script?
Re:Ask HN: So you moved off Heroku, where did you go? by joshmanders on Tuesday October 04, 2022 @12:48PM (#33083058)
> No one should be running that without personally verifying each line.

Ok, if you feel so strongly about it, then before you paste the link into your terminal and hit enter to execute it, how about you uh... open the shell script it will execute in your browser and read the contents of it?

You use this idea that people are executing stuff they don't know and blaming the tools for it but don't think to read the script yourself?

Re:Ask HN: So you moved off Heroku, where did you go? by adamckay on Tuesday October 04, 2022 @04:11PM (#33086040)
> Ok, if you feel so strongly about it, then before you paste the link into your terminal and hit enter to execute it, how about you uh... open the shell script it will execute in your browser and read the contents of it?

As an FYI - unless the script is on a site like GitHub (which you can assume to be behaving truthfully), it's possible for a server to respond differently according to the user agent, allowing a malicious file to be served if it's downloaded via `curl` or `wget`.

https://www.onsecurity.io/blog/careless-with-curl-dont-be/

Re:Ask HN: So you moved off Heroku, where did you go? by joshmanders on Tuesday October 04, 2022 @05:01PM (#33086811)
As an FYI - The bash script downloads it and then runs bash on the file created on your local system, there's no way to determine if the user is downloading and piping directly into bash or if they're just downloading the file, so change the script before executing from

    wget -q https://get.coollabs.io/coolify/install.sh -O install.sh; sudo bash ./install.sh
to

    wget -q https://get.coollabs.io/coolify/install.sh -O install.sh; cat install.sh
Once the script is locally on your file system there is no way to change the contents.
Re:Ask HN: So you moved off Heroku, where did you go? by adamckay on Tuesday October 04, 2022 @05:59PM (#33087644)
Yep. My response was specific to your comment of reading in browser which is not a guarantee of what's downloaded.
Re:Ask HN: So you moved off Heroku, where did you go? by joshmanders on Tuesday October 04, 2022 @07:36PM (#33088707)
My apologizes, I interpreted it as a "yeah but they can change it so you can't trust it!!!1!" response.
Re:Ask HN: So you moved off Heroku, where did you go? by hitpointdrew on Tuesday October 04, 2022 @11:26AM (#33081716)
How is running an "random" script any different than running a "random" binary? With a script at least you CAN look at each line. With a binary you have no clue what the fuck it is doing.
Re:Ask HN: So you moved off Heroku, where did you go? by px43 on Tuesday October 04, 2022 @11:49AM (#33082145)
Running random binaries is also a terrible idea. They should be packages that integrate with your local package manager, and which are signed by some entity that you've decided to trust.
Re:Ask HN: So you moved off Heroku, where did you go? by masukomi on Tuesday October 04, 2022 @02:15PM (#33084444)
and who would that be? Are you suggesting that you ONLY install software signed by developers you have personally verified the keys of? or that you know personally? Because if not, your argument is void because you're trusting completely unknown people who may actively be working to compromise your computer.

The fact that the software was signed doesn't mean anything if you don't actually verify each signature, and even then it only means that what they put up is what you downloaded. It doesn't mean it's not malware. It doesn't mean it doesn't have a back door. It doesn't mean it's not filled with security holes.

Re:Ask HN: So you moved off Heroku, where did you go? by px43 on Wednesday October 05, 2022 @12:48AM (#33091379)
You don't need to know people personally to trust a signature, you just need to know that the organizations they're coming from are at least somewhat reputable. Ideally, signatures should all chain up to the root of trust in your package manager, which is presumably operated by some entity that you've decided to place some trust in.
Re:Ask HN: So you moved off Heroku, where did you go? by discordianfish on Tuesday October 04, 2022 @09:34AM (#33080140)
> No one should be running that without personally verifying each line.

Do you also verify each line of software you install? If you trust the author of certain software, why do you mistrust their install script?

Re:Ask HN: So you moved off Heroku, where did you go? by adamckay on Tuesday October 04, 2022 @04:20PM (#33086191)
It's not only the original author, don't forget, but it's any malicious actor that's managed to compromise that hosted script.

It should be viewed in the same way that a package author on NPM or PyPI may publish a malicious package, either themselves or via their account being compromised. It's not particularly common, but nor is it impossible and could present a good targe.

Re:Ask HN: So you moved off Heroku, where did you go? by masukomi on Tuesday October 04, 2022 @02:11PM (#33084389)
> What is specifically wrong with the dozens of existing packaging solutions we already have?

specifically? Specifically: they are even WORSE from a security standpoint because you don't have the option of "personally verifying each line". Just because someone's stuck it in a nice easy-to-install package doesn't mean it's not a virus / malware / whatever.

are you suggesting that you read the source code of every app / tool you download before you execute it? If not, hello... pot. kettle?

Re:Ask HN: So you moved off Heroku, where did you go? by pdntspa on Tuesday October 04, 2022 @10:50AM (#33081222)
Presumably for the same reason that ML models seem to self-download to god knows where instead of giving you a URL to a download link and telling you where to place the file?

Or those awful programs that give you a stub when you try to download the app, only to download the actual payload to, again, god-knows-where.

Or even worse, packaging your app in a docker container!

Seriously people, give a CURL-compatible URL to your actual payload and then get the hell out of the way

Re:Ask HN: So you moved off Heroku, where did you go? by n3storm on Tuesday October 04, 2022 @09:30AM (#33080067)
You shouldn't use internet either, is dangerous
Re:Ask HN: So you moved off Heroku, where did you go? by kandjidev on Tuesday October 04, 2022 @10:00AM (#33080508)
Do you also verify each line of the software that the script is installing?
Re:Ask HN: So you moved off Heroku, where did you go? by sandGorgon on Tuesday October 04, 2022 @06:02AM (#33078277)
this is very very cool! one question - u deploy to individual servers right ? can u target deploy to a kubernetes platform. Like EKS? I couldnt find it in your docs.

Because one of the cool things about Heroku is scale-up. A cool project here is https://sst.dev/. Would love to see EKS/GKE native integration there.

Re:Ask HN: So you moved off Heroku, where did you go? by andrasbacsai on Tuesday October 04, 2022 @06:13AM (#33078353)
Atm, only individual servers, but Coolify will be able to deploy to any Kubernetes platform soon, natively.
Re:Ask HN: So you moved off Heroku, where did you go? by pbronez on Tuesday October 04, 2022 @03:22PM (#33085400)
There are a couple self-hosting services that rely on k8s or k3s. For example, TrueNAS SCALE and Kubesail. Do you envision that Coolify could deploy on top of one of these, or does it need to own the full machine?
Re:Ask HN: So you moved off Heroku, where did you go? by varun_ch on Tuesday October 04, 2022 @02:11PM (#33084388)
This looks really cool, I can't wait to try it out!

From what I saw, it looks like it does a lot of stuff behind the scenes relating to domains and SSL.. does it work with the server behind Cloudflare (the dashboard and hosted sites), or is this something I would probably want to be accessing directly?

Re:Ask HN: So you moved off Heroku, where did you go? by andrasbacsai on Tuesday October 04, 2022 @02:25PM (#33084590)
Personally, I do not use Cloudflare, but Coolify works with it!
Re:Ask HN: So you moved off Heroku, where did you go? by pdntspa on Tuesday October 04, 2022 @10:43AM (#33081109)
No Rails support? :(
Re:Ask HN: So you moved off Heroku, where did you go? by andrasbacsai on Tuesday October 04, 2022 @10:48AM (#33081174)
Not “natively”, but as lots of people asking, I will add it soon. Try to fit in this week! :)
Re:Ask HN: So you moved off Heroku, where did you go? by willnz on Wednesday October 05, 2022 @05:30PM (#33101465)
Sounds great!

I feel like Ruby on Rails out of the box support would really help bring an influx of Heroku orphans.

Re:Ask HN: So you moved off Heroku, where did you go? by CamelRocketFish on Tuesday October 04, 2022 @12:41PM (#33082950)
Any chance of swift server?
Re:Ask HN: So you moved off Heroku, where did you go? by andrasbacsai on Tuesday October 04, 2022 @02:29PM (#33084645)
I'm open for anything but I never used Swift server before, so not sure if it could be integrated. I have to take a look.