Our great sponsors
-
Depends... here's some recommendations
[1] https://dokku.com/ - Heroku but self-hosted, deceptively complex, can be a pain
[2] https://vercel.com/ - Kind of a modern replacement, very easy, but can only really run TS/JS
[3] https://cloud.google.com/run - A nice way to run any server in a Docker container, simple but probably not suitable for a front-end
-
Just use github actions. You edit, you commit, it runs test, it pushes. The end.
https://github.com/james-ransom/eks-gha-auto-deploy-fortune/...
-
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.
-
If it can be a static site, then I build the site using GitHub Actions, and then use GitHub Page to serve.
I don't really like any of the static site generator's out there, so I just build an ejs site and parse it using a project I build statictron.
For anything that requires server side hosting, render.com is great, or digitalocean if I want something I can control more. I don't really want to buy into the whole ecosystem of things like Heroku, GCP, AWS as I like to make sure I can leave when/if they do bad things.
-
Depends... here's some recommendations
[1] https://dokku.com/ - Heroku but self-hosted, deceptively complex, can be a pain
[2] https://vercel.com/ - Kind of a modern replacement, very easy, but can only really run TS/JS
[3] https://cloud.google.com/run - A nice way to run any server in a Docker container, simple but probably not suitable for a front-end
-
Depends... here's some recommendations
[1] https://dokku.com/ - Heroku but self-hosted, deceptively complex, can be a pain
[2] https://vercel.com/ - Kind of a modern replacement, very easy, but can only really run TS/JS
[3] https://cloud.google.com/run - A nice way to run any server in a Docker container, simple but probably not suitable for a front-end
-
On the software side I'm heavily relying on self-hosted Portainer [0] (for managing Docker stacks) and Caddy [1] (for routing web services, static file servers, static websites, barebones single Python file APIs etc.)
I usually start a side project by simply running it in a tmux on the machine. If it becomes larger, I promote it to a docker-compose file inside Portainer.
When I find myself needing to update/re-deploy often enough, I create a repo for the compose.yaml file and create a Portainer stack with that repo. That way, a `git push` can re-deploy automatically with rollback on failure.
Sometimes I might need to run tasks like building a binary or a more advanced Docker image on `git push`, so I also self host Drone CI [2] for that.
Portainer also supports Kubernetes, but I just don't feel comfortable with its complexity. I feel more at home with running `docker ps/exec/logs` to troubleshoot possible problems, or test out some ideas quickly.
-
-
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.
-
-
swarmsible
Ansible based Tooling and production grade example Docker Stacks. Updated with new learnings from running Docker Swarm in production
Pretty much the same as our goto for projects at work: Hetzner + Docker (Swarm) with some Ansible to orchestrate things
We have built some automation around cluster management over at https://github.com/neuroforgede/swarmsible.
I used to do everything in ansible, but Docker Stacks are just so much nicer to use.
In any case automation is king. I don't have to remember stuff if I can just look at some IaC Code :).
-
piku
The tiniest PaaS you've ever seen. Piku allows you to do git push deployments to your own servers.
-
I mostly use DigitalOcean and their managed kubernetes service. My projects tend to be self-contained in a monorepo (where my k8s manifest also live) and I use Flux* to keep my cluster in sync. I'm quite happy with, took a bit of time to get it set up exactly how I wanted, but now it's no-effort to do releases.