5 ms·
Hey, Andras here, founder of Coolify (https://coolify.io https://coolify.io). Coolify is an open-source & self-hostable Heroku / Netlify alternative. Lots of f
by andrasbacsai 4y ago
Hey, Andras here, founder of Coolify (https://coolify.io 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 https://github.com/coollabsio/coolify) or our feedback page (https://feedback.coolify.io/ 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/ https://beta.coolify.io/))
- lagrange77 4y agoLooks 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?
- andrasbacsai 4y agoYes, 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.
- sandGorgon 4y agothis 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/ https://sst.dev/. Would love to see EKS/GKE native integration there.
- andrasbacsai 4y agoAtm, only individual servers, but Coolify will be able to deploy to any Kubernetes platform soon, natively.
- pbronez 4y agoThere 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?
- TimMeade 4y agoThis (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.
- andrasbacsai 4y agoYou 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.
- awill 4y agoWhen 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?
- discordianfish 4y ago> 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?
- adamckay 4y agoIt'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.
- n3storm 4y agoYou shouldn't use internet either, is dangerous
- Abekkus 4y agoIt 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?
- kandjidev 4y agoDo you also verify each line of the software that the script is installing?
- thanzex 4y agoHi! 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?
- thatwasunusual 4y ago> 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.
- andrasbacsai 4y agoThe 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. :)
- datavirtue 4y agoDeath to yaml. Thank you.
- 4y ago
- jrochkind1 4y agoMy 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?
- lolinder 4y agoPresumably 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.
- andrasbacsai 4y agoYes, as lolinder mentioned, there will be a hosted version soon. :)
- masukomi 4y agoI 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.
- ryanSrich 4y agoRight. 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.
- andrasbacsai 4y agoThat will be Coolify Cloud :) (https://beta.coolify.io https://beta.coolify.io).
- 4y ago
- pdntspa 4y agoNo Rails support? :(
- andrasbacsai 4y agoNot “natively”, but as lots of people asking, I will add it soon. Try to fit in this week! :)
- CamelRocketFish 4y agoAny chance of swift server?
- andrasbacsai 4y agoI'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.
- willnz 4y agoSounds great! I feel like Ruby on Rails out of the box support would really help bring an influx of Heroku orphans.
- vorillaz 4y agoI 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.
- varun_ch 4y agoThis 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?
- andrasbacsai 4y agoPersonally, I do not use Cloudflare, but Coolify works with it!