Lightweight implementation of the Gpodder API
 
 
Go to file
Jef Roosens 0cfcd90eba
refactor: split gpodder repository and the sqlite data store implementation into separate crates
The complete separation of concerns via the gpodder repository allows us
to cleanly separate the server from the gpodder specification. This
paves the way for a later Postgres implementation of the data store.
2025-03-19 08:54:49 +01:00
bruno feat: implemented episode actions GET route 2025-03-04 16:44:30 +01:00
gpodder refactor: split gpodder repository and the sqlite data store implementation into separate crates 2025-03-19 08:54:49 +01:00
gpodder_sqlite refactor: split gpodder repository and the sqlite data store implementation into separate crates 2025-03-19 08:54:49 +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.