dolltags/README.md

1.9 KiB

dolltags

like dog tags but for dolls and entities of all kinds.

a db for registering dolls and their handlers, dog tags style.

profiles are ID'd using a 6-digit ID for manual input (maybe something else if i can manage to make use of RFID tags) and searched with that ID, nothing else.

a profile is

  • name
  • pronouns
  • kind of entity
  • handler name and contact
  • doll type
  • breed
  • behaviour
  • microchipped
  • and whatever else i think of

Setting it up for prod

The project is packaged for NixOS; if you don't use NixOS, you will need to compile it yourself with the rust toolchain.

This project requires rust (stable, at least v1.84.0 which is the version i use) and cargo, as well as a postgresql database.

$ git clone https://git.sr.ht/~artemis/dolltags
$ cd dolltags
$ cargo build --release

You will also need to bundle the assets/ and templates/ directory.

In both cases, the daemon/CLI requires a configuration file, by default named Rocket.toml and loaded from the CWD but which can be pointed to a custom file using the ROCKET_CONFIG environment variable. Likewise, the assets and template directories will be by default loaded from the CWD but can be pointed to a custom directory using the environment variable ASSETS_PATH. However, the template directory is expected to be in the CWD with no way to change it as-is for now (it will try to search in $PWD/templates).

The configuration file requires two keys, shown below.

[default]
secret_key = "use `openssl rand -base64 32` to generate it"

[default.databases.dolltags]
url = "postgres://dolltags:password@localhost/dolltags"
  • secret_key is required to securely handle the user sessions; changing the secret key will immediately disconnect any previously-working session
  • url for the database follows the PostgreSQL connection URL format and should support all its arguments and variants