1.5 KiB
1.5 KiB
Plebsaber.stream
BeatLeader‑powered tools for Beat Saber.
BeatLeader OAuth setup
Set these environment variables (e.g. in your process manager or .env when using adapter‑node):
BL_CLIENT_ID=your_client_id
BL_CLIENT_SECRET=your_client_secret
Then start the dev server and visit /auth/beatleader/login to authenticate. Tokens are stored in httpOnly cookies and attached to all server‑side BeatLeader API calls.
Developing
Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
Nix Deployment
I use Caddy for TLS.
plebsaber.stream {
reverse_proxy http://127.0.0.1:8037
}
I use sops-nix to deploy the flake with OAuth secrets.
sops = {
defaultSopsFile = ./sops.yaml;
secrets = {
"plebsaber-stream.env" = {
sopsFile = ../_sops/plebsaber-stream.env;
format = "dotenv";
restartUnits = [ "plebsaber-stream.service" ];
};
}
};
services.plebsaber-stream = {
enable = true;
environmentFile = config.sops.secrets."plebsaber-stream.env".path;
};
Then add the flake from this repository into your flake inputs.
inputs.plebsaber-stream = {
url = "git+https://git.plebsaber.stream/pleb/plebsaber.stream.git";
inputs.nixpkgs.follows = "nixpkgs";
};
For updates, push commits to a repository and then update your flake.
nix flake lock --update-input plebsaber-stream
nixos-rebuild test .#webserver