Go to file
Agatha Lovelace cf9ee95928
Document devshell
2023-06-09 16:38:45 +02:00
.github/workflows Add nix devshell for testing 2023-06-07 21:40:43 +02:00
src Remove unnecessary axum-auth dependancy 2023-04-11 21:41:23 +02:00
.envrc Package for Nix 2023-04-11 20:56:07 +02:00
.gitignore Package for Nix 2023-04-11 20:56:07 +02:00
Cargo.lock Remove unnecessary axum-auth dependancy 2023-04-11 21:41:23 +02:00
Cargo.toml Remove unnecessary axum-auth dependancy 2023-04-11 21:41:23 +02:00
README.md Document devshell 2023-06-09 16:38:45 +02:00
default.nix Package for Nix 2023-04-11 20:56:07 +02:00
flake.lock Package for Nix 2023-04-11 20:56:07 +02:00
flake.nix Add nix devshell for testing 2023-06-07 21:40:43 +02:00
shell.nix Package for Nix 2023-04-11 20:56:07 +02:00

README.md

Eleanor Server

A HTTP remote media server for the Eleanor music player.

Usage (command line)

  • Setup:

    1. Run the eleanor-server executable; exit
    2. Edit the settings.toml file. Example:
    port = 8008
    
    [[sources]]
    id = 0
    path = "/home/agatha/Music/local/"
    
    1. Add user(s) using the user subcommand
    2. Start the server again
  • Adding a user:

    ./eleanor-server user add username password
    
  • Removing a user:

    ./eleanor-server user remove username 
    

Development

A testing server can be quickly set up in a temporary directory like this:

nix develop .#dev

REST API Implementation

GET / → A binary messagepack-encoded list of tracks indexed by the server
POST / → Starts a full reindex by the server
GET /:hash → Responds with the requested song's audio file (hash can be obtained from the index)
GET /:hash/cover → Responds with the album art attached to the requested song's file

All endpoints require HTTP Basic Auth using credentials of any formerly added user.