Dokku: My favorite personal serverless platform
Dokku is an open-source PaaS enabling users to create a serverless platform on a VPS. It features automatic SSL, basic authentication, Docker deployment, and supports GitHub Actions for automatic deployments.
Read original articleDokku is an open-source Platform as a Service (PaaS) that allows users to transform a virtual private server (VPS) into a serverless platform, similar to Heroku but with ownership and cost-effectiveness. The author, Hamel Husain, utilizes Dokku on a $7/month VPS from OVHcloud for various applications related to his consulting work in large language models (LLMs). Key features of Dokku include ease of use, automatic SSL management via Let’s Encrypt, basic authentication support, and the ability to scale applications with simple commands. Users can deploy applications using Docker containers by creating a Dockerfile and pushing code via Git. Additionally, Dokku supports the deployment of static sites from private GitHub repositories, allowing for password protection and easy configuration. The platform also facilitates automatic deployments through GitHub Actions, streamlining the deployment process. The author shares various tips for managing applications on Dokku, such as running commands remotely and managing Docker cache. Overall, Dokku provides a flexible and cost-effective solution for developers looking to deploy applications without the high costs associated with traditional PaaS providers.
- Dokku is an open-source PaaS that allows users to own their serverless platform.
- It offers features like automatic SSL management, basic authentication, and easy scaling.
- Users can deploy applications using Docker containers and Git commands.
- Dokku supports static site deployment from private GitHub repositories.
- Automatic deployments can be configured using GitHub Actions for convenience.
Related
lldap: Light LDAP Implementation
The "lldap" GitHub repository offers a lightweight authentication server with a simplified LDAP interface. It includes a user-friendly web interface, installation guides for different platforms, usage details, comparisons with similar services, and support options.
Install Docmost – open-source Notion Clone
Docmost is an open-source Notion alternative for team collaboration. A tutorial by Till Carlos explains self-hosting Docmost using Docker and Traefik for SSL. It covers setup, limitations, security, and production considerations.
Plunk: The open source email platform
Plunk is an open-source email platform for easy email sending, supporting transactional emails, automations, and broadcasts. It can be self-hosted via Docker, with deployment and contribution guidelines available.
Launch HN: Stack Auth (YC S24) – An Open-Source Auth0/Clerk Alternative
Stack Auth is an open-source user authentication solution for developers, offering quick setup, self-hosting, and features like OAuth support, user dashboards, and role-based access control, promoting community contributions.
Coolify’s rise to fame, and why it could be a big deal
Coolify is an open-source, self-hostable platform gaining popularity as an alternative to Heroku and Vercel, simplifying application deployment and reflecting a trend towards self-hosted software and COSS models.
- Many users appreciate Dokku for its simplicity and effectiveness in deploying applications, often comparing it favorably to other PaaS solutions.
- There is confusion and debate over the term "serverless," with several commenters questioning how a platform that requires a server can be classified as such.
- Users express a desire for better configuration management, with some noting the lack of declarative configuration options.
- Several commenters share their experiences with alternatives to Dokku, such as Coolify and Kubernetes, discussing their pros and cons.
- Overall, there is a strong sense of community support for Dokku, with many users willing to contribute financially or through development.
https://github.com/Dokploy/dokploy
It's similar to Dokku but has a nice web UI, makes it easier to deploy Docker/Compose solutions and auto LetsEncrypt functionality is built-in by design (not as a separate plugin).
I've also built a GitHub Actions workflow to trigger off a deploy to apps hosted on it (basic cURL command but works well). https://github.com/benbristow/dokploy-deploy-action
And put together some pre-configured Compose files you can deploy for various apps. https://github.com/benbristow/dokploy-compose-templates
I've landed on Dokku in the end as it's the one with the least amount of "magic" involved and even if I stopped using it I could just uninstall it and have everything still running. Can highly recommend it!
The developer is also super responsive and I even managed to build a custom plugin without knowing too much about it with some assistance. Documented this on my blog too: https://blog.notmyhostna.me/posts/deploying-docker-images-wi...
Dokku is not one of those, it does what it does well and aside from a couple of cli argument ordering quirks it's been great for my light usage. If I was using it more I'd probably want to configure entire architectures with declarative config files, I have no idea if it can do that though.
In general, I really love the idea of running all your stuff on a server you own as opposed to e.g. Heroku or AWS. Simple predictable monthly bill really gives you peace of mind.
> Coolify can enable organizations of any size to host an arbitrary number of free, self-hosted software easier than ever.
https://github.com/coollabsio/coolify
> An open-source & self-hostable Heroku / Netlify / Vercel alternative.
Hopefully you do use TLS between Cloudflare and your Dokku (even with a self-signed cert or something), otherwise your personal sites (which are apparently sensitive enough to put behind basic auth) are being transited over the internet in plaintext.
1: https://maxschmitt.me/posts/tutorial-deploy-apps-websites-do...
I was sad when Flynn died (https://github.com/flynn/flynn), but it's great to see Dokku doing well.
Otherwise: totally agree, great tool for self hosting.
I use it with rails but it works with any containerized web apps.
Edit: turns out (thankfully) that it's only the author of the article using that term. The project site (https://dokku.com/) is very descriptive.
https://docs.podman.io/en/latest/markdown/podman-systemd.uni...
When you're hosting a single-node cluster, what value do these docker-based tools offer? Is it the fact that you can use a dockerfile to declare your OS-level dependencies consistently?
I initially setup Dokku on K8s, but since it would just deploy to that same server it makes more sense IMO to just use K8s
The problem with Dokku is that, while its easy to use if you have experience in devops, well.. you still need to know devops! That's not what I call serverless...
https://github.com/skateco/skate
It's daemonless, multi-host with multi-host networking, service discovery and like I said, allows you to create deployments, cronjobs, and route traffic via ingress resources.
Comes with letsencrypt out of the box.
The GitHub readme is well documented but hard to know how that translates into the dev exp, like with scaling or upgrades and if its features are comparable to managed Postgres providers (I'd assume no but happy to be proven wrong!)
1. 10 minute to learn, simple syntax, rich functions
2. deploy with standard tools like ftp
3. easy scaling with php-fpm.
4. not exactly docker, but vhost works in most cases. And vhost can be containerized.
5. insta hot-reload
6. dirt cheap cost. Hi dreamhost
7. no vendor lock-in bullshit, supported by everyone everywhere
well, at least it was the case used to be
The main issue is that it's for playing a game, and the game is held in-memory, and once a day heroku restarts their servers, so everyone gets kicked out of the game they're in when it restarts with cleared process memory. I need to fix this by migrating and I don't have time.
If anyone feels like this migration would be something that they have relevant experience for and which they could do confidently, please get in touch. Email in profile.
Good solve!
- used a VPS - made a docker file
So what does doku actually do?
https://github.com/daitangio/misterio
I created it for managing my homelab, it works great and it is a thin layer over docker compose
No one will be stealing your data as the big corps do.
Less chances to overrun your budget because of how cloud platforms conveniently have no breaks on utilisation of resources.
I don't see any added benefits in therms of the extent of configuration I need to deploy. What is the new thing Dokku and other similar services bring to the table? What is the extra configuration I don't have to do if I go with it?
Is it the case that there is no visual in the free version? Just hacking around some files? That is not that user friendly and certainly does not really remind me of Heroku.
The GUI you get with the Pro version looks good. and only a bit more than $800 for life.
I pay a monthly support to dokku. You should too. Jose will help you either way, but I feel slightly less guilty when I ask questions and he immediately resolves them for me in the slack channel. Don't you want to use this incredible piece of software guilt free?
(sorry)
This is the service I have been working for the lasts months alongside my 9-5. Heavily inspired by Coolify, but it is based solely on Docker Swarm to save the development efforts on other features.
Also, it is a bit opinionated to adjust the UX to what I need myself, so there are slight deviations from the way how others work with Swarm.
I have a short vid which I have recorded today on how one could easily deploy WordPress to any VPS: https://youtu.be/k34Zdwcsm6I
It covers usage of the 1-Click apps templates which speed up everything "a little bit".
But it worked for Salesforce, which is a software company whose slogan is "no software".
Related
lldap: Light LDAP Implementation
The "lldap" GitHub repository offers a lightweight authentication server with a simplified LDAP interface. It includes a user-friendly web interface, installation guides for different platforms, usage details, comparisons with similar services, and support options.
Install Docmost – open-source Notion Clone
Docmost is an open-source Notion alternative for team collaboration. A tutorial by Till Carlos explains self-hosting Docmost using Docker and Traefik for SSL. It covers setup, limitations, security, and production considerations.
Plunk: The open source email platform
Plunk is an open-source email platform for easy email sending, supporting transactional emails, automations, and broadcasts. It can be self-hosted via Docker, with deployment and contribution guidelines available.
Launch HN: Stack Auth (YC S24) – An Open-Source Auth0/Clerk Alternative
Stack Auth is an open-source user authentication solution for developers, offering quick setup, self-hosting, and features like OAuth support, user dashboards, and role-based access control, promoting community contributions.
Coolify’s rise to fame, and why it could be a big deal
Coolify is an open-source, self-hostable platform gaining popularity as an alternative to Heroku and Vercel, simplifying application deployment and reflecting a trend towards self-hosted software and COSS models.