.tx | ||
appinfo | ||
css | ||
img | ||
l10n | ||
lib | ||
src | ||
templates | ||
translationfiles | ||
utils | ||
.editorconfig | ||
.eslintrc.js | ||
.gitignore | ||
.gitlab-ci.yml | ||
.l10nignore | ||
.nextcloudignore | ||
.npmignore | ||
babel.config.js | ||
CHANGELOG.md | ||
composer.json | ||
COPYING | ||
krankerl.toml | ||
Makefile | ||
package-lock.json | ||
package.json | ||
postcss.config.js | ||
README.md | ||
Release.md | ||
screenshot-thumbnail.jpg | ||
screenshot.png | ||
stylelint.config.js | ||
webpack.js |
Nextcloud Radio app
This experimental app uses the radio-browser.info api and offers radio stations right in your Nextcloud!
Features
- Browse hundreds of radio stations world wide and play them directly
- Explore new stations in the category section
- Smooth playback with audio transitions
- Save stations to your favorites list
- Export favorites as playlist
- Add your own radio streams
Maintainers
Installation
From the appstore
The most recent and stable version of the app can be found in the official appstore. For ArchLinux, there is an AUR package available.
From source
Clone the development repository with:
git clone https://git.project-insanity.org/onny/nextcloud-app-radio.git radio
Then run following commands to compile the project:
cd radio
make dev-setup
make build-js
Mount or move the radio
folder into your Nextcloud apps/
directory. Go to the apps manager tab in your Nextcloud web interface, and enable the Radio app.
Testing
Can be easily tested using Docker:
docker build -t nextcloud https://git.project-insanity.org/onny/docker-nextcloud.git
docker run -v /tmp/nextcloud-app-radio:/opt/nextcloud/apps/radio -d --name nextcloud-app-radio -p 80:80 nextcloud
First part of -v is the path to the cloned and compiled or downloaded Nextcloud Radio app. Debug running container it with:
docker exec -i -t 665b4a1e17b6 /bin/bash
Where -t specifies the container id. If you further need to access the sqlite-database, logs or files inside the data folder of Nextcloud, that you also have to share this folder with the host:
docker run -v /tmp/dockerdata:/data/data -v /tmp/nextcloud-app-radio:/opt/nextcloud/apps/radio -d --name nextcloud -p 80:80 rootlogin/nextcloud
Development notes
General
While editing the code, you could run following helper script to automatically compile the project:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p # ref: https://github.com/gatsbyjs/gatsby/issues/11406
make watch-js
Translations
Manually generate translations. The following commands will require the
dependency packages gettext
and php
.
cd nextcloud-app-radio
git clone https://github.com/nextcloud/docker-ci.git utils/docker-ci
make translations
Use the source file translationfiles/template/radio.pot
to create
translations. For example, contribute translations via
Transifex.
Put the translated language file into the corresponding template folder. For
example the German language file should be placed at
translationfiles/de/radio.po
. Run make translations
again.
Prepare a release
Consoult Release.md on how to prepare a release for Gitlab and the app store.
Contribute
Reporting bugs
You can report bugs in the public gitlab repository here and for discussion you can find a section for the app in the offical Nextcloud forums here.
Adding translations
For now only German translations are provided, so please submit your translations if possible :) It's really easy, just git clone
this repo and copy the translation files in l10n
according to your locale. Merge requests go to this radio repository.
Adding radio stations
This app uses a public and open database of radio stations as its backend, so any station you add in radio-browser.info (no account required), will be also available in this app. Feel free to contribute :)
Donation
If you like this app and want to support my work, you can donate to this Bitcoin address:
19mpmuNczGDgdxaBLBn3REEpQLPPcJHZB6
Credits
- radio-browser.info database api as backend for this app
- Python example code to query stream metadata, took from here.