.github | ||
analyzer | ||
api | ||
api-client | ||
dev | ||
docker | ||
docs | ||
installer | ||
legacy | ||
playout | ||
shared | ||
sintonia_webapp@7dc8e160ee | ||
tools | ||
worker | ||
.codespellignore | ||
.dockerignore | ||
.env.dev | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.pre-commit-config.yaml | ||
.vale.ini | ||
CHANGELOG.md | ||
cloud-init.yml | ||
codecov.yml | ||
CONTRIBUTING.md | ||
docker-bake.json | ||
docker-compose.override.yml | ||
docker-compose.yml | ||
Dockerfile | ||
install | ||
LEGACY.md | ||
LICENSE | ||
Makefile | ||
pyproject.toml | ||
README.md | ||
SECURITY.md | ||
Vagrantfile |
Sintonia
The project involves the development of an application (to be released as open-source) that will handle all aspects of managing a radio station, whether it operates purely online or uses radio wave transmitters.
Link to sintonia_webapp repo.
The application will therefore need to allow for:
- Managing multiple users with three different types of permissions (administrator, editor, and DJ);
- Managing the audio file archive (adding, deleting), allowing uploads from remote sources such as individual audio files on other servers or RSS feeds;
- Adding, modifying, and deleting broadcasts within the schedule, and scheduling (both in advance and in real-time) the playlists within individual episodes of a broadcast;
- Creating both static and dynamic playlists that can be used within one or more episodes of one or more broadcasts;
- Managing and scheduling advertisements, both private and governmental;
- Exporting the history of songs played within a specific time frame;
Development is expected to start from the free and open-source software LibreTime, which will be forked while retaining all playout and backend functionalities.
This will be complemented by a new web application (hereafter referred to as "Sintonia") to replace the original application (hereafter referred to as "Legacy").
This application will replicate the functions of the previous one while integrating new features, providing a more intuitive and simple user experience thanks to a new graphic design agreed upon.
Build and run the containers
Currently only the dev version of the project is being developed, the branch to be used is main.
Ensure docker is installed and its service is up and running
One can quickly test docker by running:
docker run hello-world
Clone this repo using the command git clone and the url of this repo.
This repo contains a git submodule sintonia_webapp, it refers to this repo.
Right now the submodule is not set up properly. So open a terminal in the root of this project, sintonia, and run this command:
git clone ssh://gitea@git.congegni.net:4022/Congegni/sintonia_webapp.git && cd sintonia_webapp && git checkout dev && cp .env.dev .env && cd ..
The folder sintonia_webapp now it's synced with the dev branch (the currently active branch).
Return to the sintonia project folder, run this commands:
# Clean and build
make clean
cp .env.dev .env
DOCKER_BUILDKIT=1 docker compose build
# Setup
make dev-certs
docker compose run --rm legacy make build
docker compose run --rm api libretime-api migrate
Run the following command:
docker compose -f docker-compose.yml -f docker-compose.override.yml build && docker compose up -d && docker container restart sintonia-webapp-dev
This commands builds the docker containers in dev mode, then it will attempt to start them up.
The sintonia web app is reachable on the port indicated in the env var SINTONIA_LARAVEL_PORT, by default the port is 9876.
So proceed to open a browser, connect to http://127.0.0.1:9876 (if no config or vars were changed).
Usually the user created by default is login: admin password: admin
HW usage
The stats below refer to the containers without any load and some test data
` docker stats --no-stream
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
fdc43da14053 sintonia-postgres-1 0.33% 236.7MiB / 30.95GiB 0.75% 86.4MB / 45.2MB 1.11GB / 906MB 9
74c48a47033c sintonia-liquidsoap-1 23.00% 78.48MiB / 30.95GiB 0.25% 113MB / 2.61GB 281MB / 0B 12
f97521670581 sintonia-playout-1 0.00% 43.95MiB / 30.95GiB 0.14% 39.9MB / 6.85MB 52.5MB / 0B 2
5c8bf1fe4e61 sintonia-legacy-1 0.01% 64.21MiB / 30.95GiB 0.20% 24.4MB / 24.2MB 136MB / 0B 5
b868aad49ccc sintonia-nginx-1 0.00% 11.46MiB / 30.95GiB 0.04% 96MB / 110MB 36.4MB / 0B 9
e89bf2b1a732 sintonia-worker-1 0.20% 96.11MiB / 30.95GiB 0.30% 8.93MB / 8.26MB 45.8MB / 2.03MB 4
e18346d6b201 sintonia-analyzer-1 0.02% 32.97MiB / 30.95GiB 0.10% 454kB / 106kB 34.8MB / 0B 3
7341e6559130 sintonia-webapp-dev 0.09% 492.6MiB / 30.95GiB 1.55% 46.3MB / 254MB 742MB / 28.1MB 41
959c88dc8a46 sintonia-api-1 4.39% 121.4MiB / 30.95GiB 0.38% 395kB / 79kB 83.6MB / 0B 4
`
RAM
1177.88MB
Images size
4460.7MB
Support
Coming soon
Contributors
Code Contributors
Sintonia is being developed by Congegni
Financial Contributors
License
Coming soon
Copyright
Coming soon