API for Accentor, a modern music server focusing on metadata.
Accentor gives you complete control over your music. You can build your own collection (with good old CD's, bandcamp downloads, ...) in the sound quality that you want and stream it either through the web frontend or android app.
Accentor is focused on metadata. We allow you to add detailed metadata to your music collection, beyond what the tags inside an audio file are capable of. Album and tracks can have multiple artists with a different name on different albums/tracks, albums can have multiple labels and tracks can have multiple genres.
The metadata is completely in your control: you can edit it however you want.
bundle install
.rails db:setup
.ffmpeg:check_version
rake task.puma -C config/puma.rb
to start the server. You can use any
other application server as well, but there is no configuration
provided.Run good_job start
to start a background worker.
In Accentor, all jobs are handled by the following 4 queues:
These queue names refer to the period in which a job should be
picked up by a worker. If you want/need to manage the available
workers in more details, you can specify the availability of
workers per process or per thread with GOOD_JOB_QUEUES
.
Check the good job docs
for the possibilities.
You probably want to set the following environment variables when running:
You can generate a new SECRET_KEY_BASE
using bin/rails secret
.
For optimal caching, this key should be stable.
Optionally set the following variables to control where Accentor stores its files:
/api
and /rails
and only proxy those
requests.To run and develop locally:
bundle install
accentor
with password accentor
(This role should have the permission to
login and createdb)rails db:setup
. This will also
seed the
database with an admin account and some starting points for the
application.Once you've done this, you can always run a local server with rails server
If you use nix on your local machine, you can also use the devShell provided by flake.nix
.
Have a question? You can ask it through GitHub discussions or in the Matrix channel.
Think you have noticed a bug or thought of a great feature we can add? Create an issue.