update readme

This commit is contained in:
bkfox 2019-09-05 14:24:21 +02:00
parent 8b191a8497
commit 3b82234cb8

View File

@ -10,23 +10,13 @@ This project is distributed under GPL version 3. More information in the LICENSE
* **diffusions**: generate diffusions time slot for programs that have schedule informations. Check for conflicts and rerun. * **diffusions**: generate diffusions time slot for programs that have schedule informations. Check for conflicts and rerun.
* **liquidsoap**: create a configuration to use liquidsoap as a stream generator. Also provides interface and control to it; * **liquidsoap**: create a configuration to use liquidsoap as a stream generator. Also provides interface and control to it;
* **sounds**: each programs have a folder where sounds can be put, that will be detected by the system. Quality can be check and reported for later use. Later, we plan to have uploaders to external plateforms. Sounds can be defined as excerpts or as archives. * **sounds**: each programs have a folder where sounds can be put, that will be detected by the system. Quality can be check and reported for later use. Later, we plan to have uploaders to external plateforms. Sounds can be defined as excerpts or as archives.
* **cms**: application that can be used as basis for website (we use Wagtail; if you don't want it this application is not required to make everything run); * **cms**: application that can be used as basis for website;
* **log**: keep a trace of every played/loaded sounds on the stream generator. * **log**: keep a trace of every played/loaded sounds on the stream generator.
## Architecture ## Scripts
Aircox is a complete Django project, that includes multiple Django's applications (if you don't know what it is, it is just like modules). There are somes scripts that can be used for deployment. Are included various configuration scripts that can be used to ease setup. They
assume that the project is present in `/srv/apps/aircox`:
**For the moment it is assumed that the application is installed in `/srv/apps/aircox`**, and that you have installed all the dependencies for aircox (external applications and python modules)
### Applications
* **aircox**: managing stations, programs, schedules and diffusions + interfaces with the stream generator (for the moment only support [Liquidsoap](http://liquidsoap.fm/)). This is the core application, that handle most of the work: diffusions generation, conflicts checks, creates configuration files for the controllers, monitors scheduled diffusions, etc, etc.
* **aircox_cms**: defines models and templates to generate a website connected to Aircox;
### Scripts
There are script/config file for various programs. You can copy and paste them,
or even link them in their correct directory. For the moment there are scripts
for:
* cron: daily cron configuration for the generation of the diffusions * cron: daily cron configuration for the generation of the diffusions
* supervisorctl: audio stream generation, website, sounds monitoring * supervisorctl: audio stream generation, website, sounds monitoring
@ -40,16 +30,9 @@ and `gunicorn` in mind.
Later we plan to have an installation script to reduce the number of above steps. Later we plan to have an installation script to reduce the number of above steps.
### Dependencies ### Dependencies
Python modules: For python dependencies take a peek at the `requirements.txt` file, plus
* `django-taggits`: `aircox.programs`, `aircox.cms` dependencies specific to Django (e.g. for database: `mysqlclient` for MySql
* `watchdog`: `aircox.programs` (used for files monitoring) database server).
* `wagtail`: `aircox.cms`
* `django-extends`: `aircox.cms`
* `django-honeypot`: `aircox.cms`
* `bleach`: 'aircox.cms` (comments sanitization)
* `dateutils`: `aircox.programs` (used for tests)
* `Pillow`: `aircox.cms` (needed by `wagtail`)
* Django's required database modules (remember to install `mysqlclient` if you plan to use a MySql database server)
External applications & modules: External applications & modules:
* `liquidsoap`: `aircox` (generation of the audio streams) * `liquidsoap`: `aircox` (generation of the audio streams)
@ -60,6 +43,9 @@ External applications & modules:
* sqlite, mysql or any database library that you need to run a database, that is supported by Django (+ eventual python deps) * sqlite, mysql or any database library that you need to run a database, that is supported by Django (+ eventual python deps)
* gzip: archive logs * gzip: archive logs
Development dependencies:
* `npm`, `webpack`: thoses are used for assets managements and development.
### Setup environment ### Setup environment
All scripts and files assumes that: All scripts and files assumes that:
- you have cloned aircox in `/srv/apps/` (such as `/srv/apps/aircox/README.md`) - you have cloned aircox in `/srv/apps/` (such as `/srv/apps/aircox/README.md`)
@ -137,5 +123,5 @@ If you use supervisord and our script with it, you can use the services defined
in it instead of running commands manually. in it instead of running commands manually.
## More informations ## More informations
There are extra informations in `aircox/README.md` and `aircox_cms/README.md` files. There are extra informations in `aircox/README.md`.