2025-11-02 08:39:48 -08:00

71 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Plebsaber.stream
BeatLeaderpowered tools for Beat Saber.
## BeatLeader OAuth setup
Set these environment variables (e.g. in your process manager or `.env` when using adapternode):
```
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 serverside 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:
```sh
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.
```js
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.
```js
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.
```sh
nix flake lock --update-input plebsaber-stream
nixos-rebuild test .#webserver
```