Lightweight implementation of the Gpodder API
 
 
Go to file
Jef Roosens 82e52bc8f9
feat(server): add basic cli error handling to avoid unwraps
2025-04-16 11:03:36 +02:00
bruno feat: implemented episode actions GET route 2025-03-04 16:44:30 +01:00
gpodder refactor: move server to own package; set up workspace dependencies 2025-04-05 10:19:19 +02:00
gpodder_sqlite refactor: move server to own package; set up workspace dependencies 2025-04-05 10:19:19 +02:00
server feat(server): add basic cli error handling to avoid unwraps 2025-04-16 11:03:36 +02: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: move server to own package; set up workspace dependencies 2025-04-05 10:19:19 +02:00
Cargo.toml refactor: move server to own package; set up workspace dependencies 2025-04-05 10:19:19 +02:00
README.md chore: update changelog and readme 2025-03-17 11:33:11 +01:00
otter.toml refactor(server): lay groundwork for unix socket configuration 2025-04-16 10:37:58 +02: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.