A new interface for LibreTime.
Find a file
2025-04-03 15:51:10 +02:00
.github ci: fix broken link check (#3061) 2024-08-04 11:47:37 +09:00
analyzer chore(main): release 4.2.0 (#3028) 2024-06-22 18:16:49 +02:00
api chore(deps): update dependency uvicorn to >=0.17.6,<0.32.0 (#3081) 2024-09-30 16:32:04 +01:00
api-client chore(main): release 4.2.0 (#3028) 2024-06-22 18:16:49 +02:00
dev fix: changed localhost to 127.0.0.1 2025-02-07 16:12:22 +01:00
docker fix(nginx): typo 2025-03-31 15:27:22 +02:00
docs docs: update SoundExchange costs (#3070) 2024-08-29 08:57:12 +01:00
installer feat(installer): add the --storage-path flag (#2865) 2024-01-01 14:38:05 +01:00
legacy chore(deps): lock file maintenance (legacy/composer.json) 2024-09-17 09:26:00 +00:00
playout chore: fix linting ignore comments (#3084) 2024-09-30 16:08:23 +01:00
shared chore(main): release 4.2.0 (#3028) 2024-06-22 18:16:49 +02:00
sintonia_webapp@7dc8e160ee Initial commit 2024-10-04 17:40:53 +02:00
tools sintonia docker fix: dev container startup 2025-02-03 15:48:35 +01:00
worker chore(main): release 4.2.0 (#3028) 2024-06-22 18:16:49 +02:00
.codespellignore chore: release 3.2.0 (#2754) 2023-10-16 21:26:59 +02:00
.dockerignore feat: add container setup 2022-09-14 11:09:52 +02:00
.env.dev feat(.env.dev): added missing nginx confi var 2025-03-31 15:28:28 +02:00
.gitattributes Create .gitattributes to ensure proper cloning with Windows Git 2017-04-09 14:41:52 -04:00
.gitignore .gitignore add: avoid double repo commits sintonia_webapp 2025-01-23 13:52:39 +01:00
.gitmodules add: gitsubmodules branch dev and merge strategy 2025-04-02 11:48:03 +02:00
.pre-commit-config.yaml chore(deps): update pre-commit hook adamchainz/django-upgrade to v1.21.0 2024-09-07 18:41:07 +00:00
.vale.ini chore: reenable vale rule after fix (#2965) 2024-03-02 14:15:50 +01:00
CHANGELOG.md chore(main): release 4.2.0 (#3028) 2024-06-22 18:16:49 +02:00
cloud-init.yml feat: rewrite cloud-init config (#2853) 2023-12-29 17:57:59 +01:00
codecov.yml test(worker): setup testing 2022-09-09 14:44:37 +02:00
CONTRIBUTING.md chore: fix CONTRIBUTING symlink again 2023-04-03 12:39:24 +02:00
docker-bake.json ci: use bake file for container build 2023-02-26 20:37:27 +02:00
docker-compose.override.yml feat(docker-compose.override): sintonia_webapp added volume for storage, exposed php-fpm ports, set env var for xdebug 2025-02-13 12:53:29 +01:00
docker-compose.yml feat: added template nginx conf for sintonia_webapp 2025-02-13 13:47:54 +01:00
Dockerfile feat(docker): add php-fpm and relative log files 2025-02-13 12:50:01 +01:00
install fix: pin pip version to <24.1 to allow installing pytz (celery) (#3043) 2024-06-22 17:35:30 +02:00
LEGACY.md Add Table of Content to LEGACY file 2021-09-02 20:55:16 +02:00
LICENSE Small update to LICENSE 2021-09-02 16:06:26 +02:00
Makefile build: replace custom release script with release-please (#2817) 2023-12-22 19:19:12 +01:00
pyproject.toml chore: add isort pre-commit hook 2023-02-03 12:38:58 +01:00
README.md fixing readme 2025-04-03 15:51:10 +02:00
SECURITY.md docs: move release docs in the release section 2023-04-12 16:50:04 +01:00
Vagrantfile feat(installer)!: change default listen port to 8080 (#2852) 2023-12-29 17:49:07 +01:00

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

This repo contains a git submodule sintonia_webapp, it refers to this repo.

To pull the repo, open a terminal in the root of this project and run this command:

    git submodule update --init --recursive --remote && cd sintonia_webapp && git checkout dev && cd ..

The folder sintonia_webapp now it's synced with the dev branch (the currently active branch).

In the sintonia folder, edit the file docker/config.yml by adding to the public url variable the local url (for dev add 'http://127.0.0.1:9876')

Add a string to the api_key and secret_key field, for dev it can be any random string

Copy or rename the file .env.dev to .env

Run the following command:

    docker compose -f  docker-compose.yml -f docker-compose.override.yml build && docker compose up -d

This commands builds the docker containers in dev mode, then il 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

logo Arci Firenze Arci Firenze Aps

License

Coming soon

Coming soon