This is an automated archive made by the Lemmit Bot.
The original was posted on /r/selfhosted by /u/basnijholt on 2025-03-29 22:55:33+00:00.
If you manage multiple servers, you know the pain of inconsistent tooling. I built dotbins to solve this once and for all.
The approach:
- Download all CLI tools for multiple platforms
- Store them in a Git repo (with optional LFS for efficiency)
- Just clone that repo on any server
How it works:
Main workstation setup
======================
uv tool install dotbins # or `pip install dotbins`
Create your tools config
========================
cat > ~/.dotbins.yaml << EOF
tools:
btop: aristocratos/btop # Process/system monitor
duf: muesli/duf # Better df
lazygit: jesseduffield/lazygit # TUI for git
k9s: derailed/k9s # Kubernetes TUI
yq: mikefarah/yq # Like jq but for YAML
EOF
Download everything for all platforms
=====================================
dotbins sync
Store in Git (LFS recommended for binaries)
===========================================
cd ~/.dotbins
git init && git lfs install
git lfs track "*/bin/*"
git add . && git commit -m "Add server tools"
git push to your\_repo\_url
On any server
=============
git clone your\_repo\_url ~/.dotbins
echo 'source ~/.dotbins/shell/bash.sh' >> ~/.bashrc
Now when you onboard a new VM or container, you just:
- Clone your dotbins repo
- Source the shell script
- Instantly have all your tools
This has been a game changer for me - no more "Oh, I need to install X" when troubleshooting servers!
- My personal collection:
- Project: