shoe-string-server
kamal
shoe-string-server | kamal | |
---|---|---|
4 | 29 | |
13 | 9,029 | |
- | 2.6% | |
4.3 | 9.3 | |
7 months ago | 6 days ago | |
JavaScript | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
shoe-string-server
-
My deployment platform is a shell script
I have a very similar system[1] for my personal projects, only I use GitHub actions to push a docker image to ECR and a commit to a config repo bumping the tag. I then have a cronjob to pull the config repo and reconcile using docker compose.
I wouldn't use it for serious stuff, but it's been working great for my random personal projects (biggest gap is if something crashes it'll stay crashed until manual intervention currently)
- [1] https://github.com/mnahkies/shoe-string-server/pull/2
-
Majority of web apps could just run on a single server
For my personal stuff that doesn't get any traffic I cobbled together some scripts to manage containers / SSL here https://github.com/mnahkies/shoe-string-server
I don't think I ever got around to making it self healing if a container dies, but it does support gitops style deployments through a cronjob / conf repo similar to argocd
It's been running happily on a <$10 / month aws lightsail instance for a few years now, though tbh I'd still reach for k8s for anything serious
-
Harbormaster: The anti-Kubernetes for your personal server
Interestingly this seems like a pretty popular problem to solve.
I made a similar thing recently as well, although with the goal to handle ingress and monitoring out the box as well, whilst still able to run comfortably on a small box.
I took a fairly similar approach, leveraging docker-compose files, and using a single data directory for ease of backup (although it's on my to-do list to split out conf/data).
If there was a way to get a truly slim and easy to setup k8s compatible environment I'd probably prefer that, but I couldn't find anything that wouldn't eat most of my small servers ram
https://github.com/mnahkies/shoe-string-server if you're interested
- Show HN: Shoe String Server
kamal
-
My deployment platform is a shell script
Guessing you're talking about https://kamal-deploy.org/ which looks interesting, though I tend to like reconciliation logic based systems ... but often only fired off imperatively with a plan/apply separation. So I shall be having a poke around anyway :)
-
How Rails Powers PopaDex for Simplified Financial Planning
Navigating the deployment landscape can be a daunting task for any developer, particularly those going it alone. PopaDex uses Kamal as its deployment solution, due to its straightforward and efficient nature. This tool is designed to facilitate the quick deployment of Rails applications across diverse environments, streamlining what can often be a complicated process. Kamal's appeal lies in its ability to demystify deployment, removing the hurdles commonly associated with Docker and app deployment in general. A couple of the main benefits of Kamal:
-
Let's build a screenshot API
Or you can use [https://kamal-deploy.org/] and GitHub actions for automating at least deploys, but there are still will be issues that you will need to solve.
- FLaNK AI for 11 March 2024
- Kamal β Deploy web apps anywhere, from bare metal to cloud VMs
-
The Hater's Guide to Kubernetes
For homelab, Docker compose should be enough
For something more production oriented https://github.com/basecamp/kamal
- Kamal β Deploy web apps anywhere
- Kamal: Open-source, zero-downtime deployment with rolling restarts
-
Continuous Deployment with GitHub Actions and Kamal
Kamal is a wonderfully simple way to deploy your applications anywhere. It will also be included by default in Rails 8. Kamal is trivial, but I donβt recommend using it on your development machine.
What are some alternatives?
watchtower - A process for automating Docker container base image updates.
build-push-action - GitHub Action to build and push Docker images with Buildx
hcl - HCL is the HashiCorp configuration language.
whisper-plus - WhisperPlus: Advancing Speech-to-Text Processing π
dokku-scheduler-nomad - Scheduler plugin for deploying applications to nomad
Nomad - Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.
hashi-ui - A modern user interface for @hashicorp Consul & Nomad
OpenVoice - Instant voice cloning by MyShell.
harbormaster
Centurion - A mass deployment tool for Docker fleets
git-pipe - Hassle-free minimal CI/CD for git repositories with docker or docker-compose projects.
ssh-agent - GitHub Action to setup `ssh-agent` with a private key