Lightweight implementation of the Gpodder API
 
 
Go to file
Jef Roosens a57e301d16
feat(server): implement infinite scroll table for sessions page
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.
2025-06-17 11:09:18 +02:00
bruno feat: implemented episode actions GET route 2025-03-04 16:44:30 +01:00
gpodder refactor(gpodder): rename store trait 2025-06-15 14:31:36 +02:00
gpodder_sqlite refactor(gpodder): rename store trait 2025-06-15 14:31:36 +02:00
otter feat(server): implement infinite scroll table for sessions page 2025-06-17 11:09:18 +02:00
.gitignore feat: implement simple api subscription routes 2025-02-24 16:00:49 +01:00
CHANGELOG.md fix(web): refresh navbar on login and logout 2025-06-08 12:50:23 +02:00
Cargo.lock feat(server): implement infinite scroll table for sessions page 2025-06-17 11:09:18 +02:00
Cargo.toml chore: fix static release binaries using zigbuild 2025-06-06 13:48:45 +02:00
Justfile feat(server): implement infinite scroll table for sessions page 2025-06-17 11:09:18 +02:00
README.md chore: fix static release binaries using zigbuild 2025-06-06 13:48:45 +02:00
otter.toml feat(server): partial implementation of session page pagination 2025-06-17 09:52:47 +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 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.