Dokku maintainer here.

This is pretty neat. I think using the compose yaml file to document what should be running is pretty powerful at smaller scales (though I'm hesitant to place data in docker volumes as people tend to delete things at will and then are shocked that their data is gone).

I once spoke with the manager of the Compose project and it was news to them that folks used it in production for deploys. The lack of tooling around zero-downtime restarts makes that frustrating, so it's exciting to see projects that introduce that in some fashion.

Cool stuff!

I love dokku, used it back in 2016. It’s a great project. I never understood the decision around the plugin ecosystem

There are just a ton of features that evolved separately from the core project. Plugins allow folks to do things in the project that the maintainers didn't envision or have time to maintain - that's actually how the datastores came to be. I think being extensible has made some things more difficult - particularly maintenance of the main project - but also made it have longevity for folks as they can mold the system to work as they'd like (the plethora of community plugins speak to that). It's a bit like how programming languages have modules or packages you can install/import into your app.

The datastore plugins were initially external as there was a ton of movement in maintaining them and it was at a different pace from the main project, though I'm now working on ways to bring them back into the core as they've stabilized quite a bit over the past decade.

Hi all,

I made Mushak out of frustrtaion. There are many amazing tools out there these days to deploy your apps to your own servers. I've used a shell script to deploy my apps many years (using Docker and Compose since 2016 or so).

Although tools like Dokku, Coolify and Kamal exists (and they are amazing) they all have tradeoffs. Dokku comes with the plugin system when it comes to DBs etc. which I don't like. Coolify since v4 it has 4 containers running to get started. Kamal is pretty awesome but the build process and config file which is mandatory and also secrets management is time consuming to get up and running.

Mushak is very simple. If you have A Docker or compose file, it should JUST WORK.

Create a .env.prod file in, and it will detect it and pushes it to the server if you want. You'll deploy to prod faster than you can believe it with zero config out of the box.

Hope this will help anyone out there, I really enjoy deploying my apps with it. Documentation will also clarify the architectural choices.

Best, Hamed

Fascinating stuff.

Personally what I ended up doing with my vps was to just have a docker-compose.yaml and then just docker-compose it to start it and then I have a custom script which would run a service at a port after which I can just "bash expose.sh subdomain.domain.app PORT" and it uses cloudflared/cloudflare tunnels under the loop and if someone wants a git like workflow, I recommend pushing docker images and then using watchtower (https://containrrr.dev/watchtower/)

I had tried to understand caddy but I instead went the cloudflare tunnels route.

I like this a lot, very neat and simple. Reminds me of Uncloud that was posted recently on HN:

https://news.ycombinator.com/item?id=46144275

I actually tried uncloud. Believe it or not I was too dumb to get it to work…

Right now I'm using Cosmos Cloud and it works nicely. But I'd actually prefer something a lot simpler and that uses Caddy. Basically exactly what you've done but where I can still easily understand the magic. I like that you explained the magic too in your docs. Great job.

Thanks man would love to hear feedback when u tried it

Looks interesting, barebones but in a good way. Seems to be a good fit for how I am currently hosting. Will give it a shot after the holidays.

Thanks!

Give it a try it’s meant to be barebone and easy

What template did you use for the landing page, if I may ask? Looks neat.

It’s regular vitepress and changed just the config for colors and added the footer bar with a vue component

Looks similar to Docker rollout plugin https://docker-rollout.wowu.dev

yeah but not really... mushak is zero config