home to your local SPACEGIRL 馃挮
arimelody.space
1# ari melody website
2
3home to your local SPACEGIRL! 馃挮
4
5---
6
7a slightly-overcomplicated webserver built to show off everything i've worked
8on, and then some! this server comes complete with twitch live status tracking,
9a portfolio database, and a full-fledged admin CMS panel to manage it all!
10
11## build
12
13- `git clone` this repo, and `cd` into it.
14- `go build -o arimelody-web .`
15
16## running
17
18the server should be run once to generate a default `config.toml` file.
19configure as needed. a valid DB connection is required to run this website.
20if no admin users exist, an invite code will be provided. invite codes are
21the only way to create admin accounts at this time.
22
23the configuration may be overridden using environment variables in the format
24`ARIMELODY_<SECTION_NAME>_<KEY_NAME>`. for example, `db.host` in the config may
25be overridden with `ARIMELODY_DB_HOST`.
26
27the location of the configuration file can also be overridden with
28`ARIMELODY_CONFIG`.
29
30### command arguments
31
32by default, `arimelody-web` will spin up a web server as usual. instead,
33arguments may be supplied to run administrative actions. the web server doesn't
34need to be up for this, making this ideal for some offline maintenance.
35
36- `createTOTP <username> <name>`: Creates a timed one-time passcode method.
37- `listTOTP <username>`: Lists an account's TOTP methods.
38- `deleteTOTP <username> <name>`: Deletes an account's TOTP method.
39- `testTOTP <username> <name>`: Generates the code for an account's TOTP method.
40- `cleanTOTP`: Cleans up unconfirmed (dangling) TOTP methods.
41- `createInvite`: Creates an invite code to register new accounts.
42- `purgeInvites`: Deletes all available invite codes.
43- `listAccounts`: Lists all active accounts.
44- `deleteAccount <username>`: Deletes an account with a given `username`.
45- `lockAccount <username>`: Locks the account under `username`.
46- `unlockAccount <username>`: Unlocks the account under `username`.
47- `logs`: Shows system logs.