src | ||
static | ||
templates | ||
.dockerignore | ||
.drone.yml | ||
.gitignore | ||
.swcrc | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
Dockerfile | ||
flake.lock | ||
flake.nix | ||
LICENSE.txt | ||
nixos.nix | ||
README.md | ||
rust-toolchain.toml | ||
tsconfig.json |
staxman (ski-ba-bop-ba-dop-bop)
If you're dumb enough to play stax at your LGS you're a big enough schmuck to come to try out staxman!
Bad design! Apps that break down! Errors!
If you think you're going to fix up your server good: You can kiss my nix!
It's our belief that you're such a stupid noob sysadmin, you'll fall for this bullshit—guaranteed!
If you find a better tool: Shove it up your ugly ass!
You heard us right! Shove it up your ugly ass!
Bring your configs!
Bring your containers!
Bring your waifu!
We'll fuck her! That's right!
We'll fuck your waifu!
Because here at staxman your server's down six ways from Sunday!
Usage
Important disclaimer: It doesn't work!!
Nix flake
- Run once:
nix run
- Cute shell with cargo-watch:
nix develop
Add these lines to your flake.nix, I dare you:
modules = [
...
staxman.nixosModules.default
({ config, pkgs, ... }: {
services.staxman = {
enable = true;
stackDir = "/path/to/stacks";
bindAddress = "1.2.3.4:3000";
};
})
];
Manual (cringe) install
You'll need:
then cargo run
(you want packages? who do you think you are??)
License
AGPL-3.0-only
Questions never asked
Why
I maintain a single box with 30+ services and I refuse to let Kubernetes make my life miserable so I stick with Docker Compose. YAML is a pain in the butt and most of my docker-compose.yml files are full of the same stuff like tons of Traefik tags. Nix is a powerful language that can replace most of the bloat with function calls. It's like Jsonnet or Dhall except harder to learn but someone already put all the work into making it work with Compose so that's why I picked it (also NixOS is dope).
The other part is that using Portainer is handy but it's kinda bloated and full of multi-node mumbo jumbo I really don't care about, staxman focuses on single-node and is a traditional multipage app that loads instantly even without a complex bundling/minimizing pipeline.
Goal for this is to manage docker compose stacks from a web UI with glue code to enable gitops.
Should I use this?
Probably not! This is MY project, built for my needs only, if you haven't been scared off the memey readme and terrible commit message quality, this is your warning that I'm not gonna add features if people ask for them.
If you think you're just as brainrot as me and wanna join my adventure in trying to create a cozy way to manage a remote box and get some services up with all the pain and lack of support it entails, give it a shot I guess??