A query type is introduced along with the ToQuery trait to convert types into queries. A query can then be properly formatted as a URL query parameter string, allowing us to pass arbitrary safely typed query parameters to the Tera templates. This is then used by HTMX to request the next page of content once the last row of a table is visible. |
||
---|---|---|
bruno | ||
gpodder | ||
gpodder_sqlite | ||
otter | ||
.gitignore | ||
CHANGELOG.md | ||
Cargo.lock | ||
Cargo.toml | ||
Justfile | ||
README.md | ||
otter.toml |
README.md
Otter
Otter is a modern implementation of the Gpodder server API. Its primary goal is to be used as a self-hostable drop-in replacement for Gpodder, suitable for low-power devices.
Features
- Implementation of API sections needed for synchronization
- Authentication
- Devices API
- Subscriptions API
- Episode actions API
- Device synchronization API
- Easy-to-use server with flexible configuration
- Can listen on either a TCP or a Unix socket
Configuration
Otter is configurable via a TOML config file, environment variables and CLI
arguments thanks to the Figment
library. Each variable in the configuration file below can be provided via an
environment variable (prefixed using OTTER_
) or a CLI argument.
data_dir = "./data"
domain = "127.0.0.1"
port = 8080
Otter can be told to read a config variable using the --config/-c
flag (see
the help
command for other useful CLI commands). Each variable needs to be
provided either from the config file, as an environment variable (e.g.
OTTER_DATA_DIR
) or a CLI argument (e.g. --data-dir
).
If a variable is provided in multiple ways, environment variables overwrite configuration file variables, and CLI arguments overwrite both.