chore(api): update README
This commit is contained in:
parent
0104799b59
commit
d946497336
|
@ -1,7 +1,6 @@
|
||||||
# LibreTime API
|
# LibreTime API
|
||||||
|
|
||||||
This API provides access to LibreTime's database via a Django application. This
|
This API provides access to LibreTime's database via a Django application.
|
||||||
API supersedes the [PHP API](../legacy/application/controllers/ApiController.php).
|
|
||||||
|
|
||||||
## Deploying
|
## Deploying
|
||||||
|
|
||||||
|
@ -11,34 +10,63 @@ development images too. This method does not automatically reflect changes to
|
||||||
this API. After any changes, the `libretime-api` systemd service needs
|
this API. After any changes, the `libretime-api` systemd service needs
|
||||||
restarting:
|
restarting:
|
||||||
|
|
||||||
sudo systemctl restart libretime-api
|
```bash
|
||||||
|
sudo systemctl restart libretime-api
|
||||||
|
```
|
||||||
|
|
||||||
Connections to the API are proxied through the Apache web server by default.
|
Connections to the API are proxied through the Apache web server by default.
|
||||||
Endpoint exploration and documentation is available from
|
Endpoint exploration and documentation is available from
|
||||||
`http://example.com/api/v2/schema/swagger-ui/`, where `example.com` is the URL
|
`http://example.com/api/v2/schema/swagger-ui/`, where `example.com` is the URL
|
||||||
for the LibreTime instance.
|
for the LibreTime instance.
|
||||||
|
|
||||||
### Development
|
## Development
|
||||||
|
|
||||||
For a live reloading version within Vagrant:
|
For development, you can install all required dependencies and loading the environment using the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make install
|
||||||
|
source .venv/bin/activate
|
||||||
```
|
```
|
||||||
vagrant up buster
|
|
||||||
# Run through the web setup http://localhost:8080
|
You should be able to lint or format the code or run api commands:
|
||||||
vagrant ssh buster
|
|
||||||
sudo systemctl stop libretime-api
|
```bash
|
||||||
sudo systemctl restart libretime-analyzer libretime-celery libretime-liquidsoap libretime-playout
|
make format
|
||||||
|
make lint
|
||||||
|
|
||||||
|
libretime-api help
|
||||||
|
```
|
||||||
|
|
||||||
|
In order to work with the database and message queue, you need to start the docker based
|
||||||
|
development stack present at the project root:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pushd ..
|
||||||
|
docker-compose up -d
|
||||||
|
popd
|
||||||
|
```
|
||||||
|
|
||||||
|
You can now run the api tests:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make test
|
||||||
|
```
|
||||||
|
|
||||||
|
### Inside Vagrant
|
||||||
|
|
||||||
|
You can develop the api using a live reloading version within Vagrant:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
vagrant up bullseye
|
||||||
|
vagrant ssh bullseye
|
||||||
|
|
||||||
cd /vagrant/api
|
cd /vagrant/api
|
||||||
sudo pip3 install -e .
|
sudo pip3 install -e .
|
||||||
|
|
||||||
|
sudo systemctl stop libretime-api
|
||||||
sudo -u www-data LIBRETIME_DEBUG=True libretime-api runserver 0.0.0.0:8081
|
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
|
## 3rd Party Licences
|
||||||
|
|
||||||
`libretime_api/tests/resources/song.mp3`: Steps - Tears On The Dancefloor (Album
|
`libretime_api/tests/resources/song.mp3`: Steps - Tears On The Dancefloor (Album
|
||||||
|
|
Loading…
Reference in New Issue