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/...
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
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.
-
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
-
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.