sintonia/api
jo 751d430bcc feat: replace exploded base_* with public_url
Fixes #1574

BREAKING CHANGE: The `general` section in the config schema has changed: the `general.base_*`, `general.protocol` and `general.force_ssl` configuration fields have been replaced with a single `general.public_url` field. Be sure to use a valid url with the new configuration field.
2022-04-25 16:45:01 +02:00
..
install/systemd feat(api): replace uwsgi with gunicorn (#1785) 2022-04-25 16:09:19 +02:00
libretime_api feat: replace exploded base_* with public_url 2022-04-25 16:45:01 +02:00
Makefile ci: generate schema and push to api-client repo (#1740) 2022-04-08 15:38:58 +02:00
README.md chore: rename vagrant devices (#1716) 2022-03-29 14:25:34 +02:00
packages.ini feat(api): replace uwsgi with gunicorn (#1785) 2022-04-25 16:09:19 +02:00
pyproject.toml chore(api): add mypy django stubs plugins (#1726) 2022-04-09 12:18:23 +02:00
requirements.txt fix(api): model_bakery is a dev dependency 2022-03-02 22:03:56 +02:00
setup.py chore(api): add mypy django stubs plugins (#1726) 2022-04-09 12:18:23 +02:00

README.md

LibreTime API

This API provides access to LibreTime's database via a Django application. This API supersedes the PHP API.

Deploying

Deploying in a production environment is done in the install script which installs LibreTime. This is how the API is installed in the Vagrant development images too. This method does not automatically reflect changes to this API. After any changes, the libretime-api systemd service needs restarting:

sudo systemctl restart libretime-api

Connections to the API are proxied through the Apache web server by default. Endpoint exploration and documentation is available from http://example.com/api/v2/schema/swagger-ui/, where example.com is the URL for the LibreTime instance.

Development

For a live reloading version within Vagrant:

vagrant up buster
# Run through the web setup http://localhost:8080
vagrant ssh buster
sudo systemctl stop libretime-api
sudo systemctl restart libretime-analyzer libretime-celery libretime-liquidsoap libretime-playout
cd /vagrant/api
sudo pip3 install -e .
sudo -u www-data LIBRETIME_DEBUG=True libretime-api runserver 0.0.0.0:8081

Unit tests can be run in the vagrant environment using

sudo -u www-data LIBRETIME_DEBUG=True libretime-api test libretime_api

3rd Party Licences

libretime_api/tests/resources/song.mp3: Steps - Tears On The Dancefloor (Album Teaser) by mceyedol. Downloaded from https://soundcloud.com/mceyedol/steps-tears-on-the-dancefloor-album-teaser released under a Creative Commons Licence (cc-by-sa-nc-sa)