Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
miko
Discontinued Sailor is a tiny PaaS to install on your servers/VPS that uses git push to deploy micro-apps, micro-services, sites with SSL, on your own servers or VPS [Moved to: https://github.com/mardix/sailor]
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
This is very interesting! Is it a Dokku alternative?
I wrote a similar thing yesterday:
https://gitlab.com/stavros/harbormaster
Mine is basically Balena, though, so it lets you deploy a bunch of Compose repos and doesn't handle ingress. Maybe I could switch to Piku instead.
There's no problem if you use only basic iptables rules but ufw use iptables in a very complicated way. If you want to ufw and docker plays well together, you have to disable docker's iptables manipulations or use ufw-docker as the author. More about that at ufw-docker documentation https://github.com/chaifeng/ufw-docker
I made a tool that does exactly this [0] wrapped up in a tiny little server! Main reason I did that was because I found myself creating "compose apps", where it was some self-hosted thing that I spent a lot of time managing without version control or in a deterministic manner.
For ingress, nginx-proxy (or traefik or caddy) listens for when a container starts on the network (auto attached by pcompose) but you still have all of the flexibility of docker-compose. Build happens on push if you have that defined in compose, so on and so forth.
Was able to even create some simple "convenience" ssh methods where you can trigger docker-compose commands or tail logs/exec into container directly over ssh. Definitely super crude and not really for production, but works great for apps that I just want to run and forget about.
[0] https://github.com/antoniomika/pcompose
For a simpler option without Docker, but still with GIT Heroku-style, check out Polybox[0].
Polybox[0] is an itty-bitty PaaS that uses git push to deploy micro-services and websites on your own servers.
[0]https://github.com/mardix/polybox
Since it's not mentioned somehow, I'll recommend Dokku. It does exactly what this author wants, and I use it to deploy all my side projects.
Dokku has been around for years but still gets significant improvements. It doesn't support scaling to multiple boxes (at least not without some work of your own), but it's great for smaller deployments.
https://dokku.com/