Lightweight implementation of the Gpodder API
 
 
Go to file
Jef Roosens 22016fe0e9
fix(gpodder_sqlite): force in-memory database to consist of only one connection
2025-03-19 14:58:04 +01:00
bruno feat: implemented episode actions GET route 2025-03-04 16:44:30 +01:00
gpodder docs(gpodder): document session last_seen timestamp's precision should be at least to the second 2025-03-19 10:55:20 +01:00
gpodder_sqlite fix(gpodder_sqlite): force in-memory database to consist of only one connection 2025-03-19 14:58:04 +01:00
src refactor: split gpodder repository and the sqlite data store implementation into separate crates 2025-03-19 08:54:49 +01:00
.gitignore feat: implement simple api subscription routes 2025-02-24 16:00:49 +01:00
CHANGELOG.md chore: update changelog and readme 2025-03-17 11:33:11 +01:00
Cargo.lock refactor: split gpodder repository and the sqlite data store implementation into separate crates 2025-03-19 08:54:49 +01:00
Cargo.toml refactor: split gpodder repository and the sqlite data store implementation into separate crates 2025-03-19 08:54:49 +01:00
README.md chore: update changelog and readme 2025-03-17 11:33:11 +01:00
otter.toml feat: added flexible configuration system using figment 2025-03-08 22:08:21 +01:00

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 synchronisation
    • Authentication
    • Devices API
    • Subscriptions API
    • Episode actions API
    • Device synchronisation API

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.