AzuraCast / AzuraCast

A self-hosted web radio management suite, including turnkey installer tools for the full radio software stack and a modern, easy-to-use web app to manage your stations.
https://www.azuracast.com/
GNU Affero General Public License v3.0
3.02k stars 560 forks source link

Synchronization Tasks not working - Ubuntu 18.04.2 LTS #1233

Closed suparub closed 5 years ago

suparub commented 5 years ago

Hello, I realized the cron of these tasks are not working, so I have to do this manually as it's supposed to execute each NEW SONG / 1 Minute / 5 Minute / 1 Hour

synchronization task

Using Powered by AzuraCast • v0.9.3 Release Build • Docker • PHP 7.2 Thanks in advance for help !

Vaalyn commented 5 years ago

From the screenshot you provided I assume only the 1-Hour Sync is not running for you. Have you checked your AzuraCast logs for any errors or messages relating to the sync tasks?

suparub commented 5 years ago

I @Vaalyn I realized none of my cron are running, is there supposed to be an azuracast_cron in "docker ps" ? Cause this is what I have :

root@solarsoundsystem:~# docker ps
CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS              PORTS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NAMES
4316d2478ca9        azuracast/azuracast_web_v2:latest     "dockerize -wait tcp…"   4 hours ago         Up 4 hours          0.0.0.0:8088->80/tcp, 0.0.0.0:444->443/tcp                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         azuracast_web_1
621b0619ebf1        azuracast/azuracast_db:latest         "docker-entrypoint.s…"   4 hours ago         Up 4 hours          3306/tcp                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           azuracast_mariadb_1
7b9755f06352        azuracast/azuracast_radio:latest      "/usr/bin/supervisor…"   4 hours ago         Up 4 hours          0.0.0.0:8000->8000/tcp, 8001-8004/tcp, 0.0.0.0:8005-8006->8005-8006/tcp, 8007-8009/tcp, 0.0.0.0:8010->8010/tcp, 8011-8014/tcp, 0.0.0.0:8015-8016->8015-8016/tcp, 8017-8019/tcp, 0.0.0.0:8020->8020/tcp, 8021-8024/tcp, 0.0.0.0:8025-8026->8025-8026/tcp, 8027-8029/tcp, 0.0.0.0:8030->8030/tcp, 8031-8034/tcp, 0.0.0.0:8035-8036->8035-8036/tcp, 8037-8039/tcp, 0.0.0.0:8040->8040/tcp, 8041-8044/tcp, 0.0.0.0:8045-8046->8045-8046/tcp, 8047-8049/tcp, 0.0.0.0:8050->8050/tcp, 8051-8054/tcp, 0.0.0.0:8055-8056->8055-8056/tcp, 8057-8059/tcp, 0.0.0.0:8060->8060/tcp, 8061-8064/tcp, 0.0.0.0:8065-8066->8065-8066/tcp, 8067-8069/tcp, 0.0.0.0:8070->8070/tcp, 8071-8074/tcp, 0.0.0.0:8075-8076->8075-8076/tcp, 8077-8089/tcp, 0.0.0.0:8090->8090/tcp, 8091-8094/tcp, 8097-8500/tcp, 0.0.0.0:8095-8096->8095-8096/tcp, 9001/tcp   azuracast_stations
be7fb8b364d9        azuracast/azuracast_influxdb:latest   "/entrypoint.sh infl…"   4 hours ago         Up 4 hours          8086/tcp                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           azuracast_influxdb_1
0d5ac9ff4287        azuracast/azuracast_redis:latest      "docker-entrypoint.s…"   4 hours ago         Up 4 hours          6379/tcp                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           azuracast_redis_1
suparub commented 5 years ago

logs from azuracast look normals no ?

stations_1  | 2019/02/28 17:18:16 [radio3s_next_song:3] Prepared "/mnt/chezyouhoo/Playlist/JahCreatedTheWorld320kbps.mp3" (RID 4).
stations_1  | 2019/02/28 17:18:16 [lang:3] AzuraCast Feedback Response: Error: Cannot normalize attribute "extra_metadata" because the injected serializer is not a normalizer on /var/azuracast/www/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php L129
web_1       | 79.176.232.113 - - [28/Feb/2019:17:18:28 +0000] "GET /api/station/1/status HTTP/1.1" 200 59 "http://solarsoundsystem.org:8088/station/1/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36" "-"
web_1       | 79.176.232.113 - - [28/Feb/2019:17:18:31 +0000] "GET /api/nowplaying/1 HTTP/1.1" 200 3367 "http://solarsoundsystem.org:8088/station/1/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36" "-"
web_1       | [2019-02-28 17:18:45] AzuraCast.INFO: Running message queue processor for 300 seconds. [] []
web_1       | 79.176.232.113 - - [28/Feb/2019:17:18:47 +0000] "GET /api/nowplaying/1 HTTP/1.1" 200 3367 "http://solarsoundsystem.org:8088/station/1/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36" "-"
web_1       | 79.176.232.113 - - [28/Feb/2019:17:19:00 +0000] "GET /api/station/1/status HTTP/1.1" 200 59 "http://solarsoundsystem.org:8088/station/1/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36" "-"
web_1       | Feb 28 17:19:01 4316d2478ca9 cron[54]: (*system*php) NUMBER OF HARD LINKS > 1 (/etc/cron.d/php)
web_1       | Feb 28 17:19:01 4316d2478ca9 cron[54]: (*system*certbot) NUMBER OF HARD LINKS > 1 (/etc/cron.d/certbot)
web_1       | Feb 28 17:19:01 4316d2478ca9 cron[54]: (*system*azuracast) NUMBER OF HARD LINKS > 1 (/etc/cron.d/azuracast)
web_1       | 79.176.232.113 - - [28/Feb/2019:17:19:03 +0000] "GET /api/nowplaying/1 HTTP/1.1" 200 3367 "http://solarsoundsystem.org:8088/station/1/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36" "-"
web_1       | 79.176.232.113 - - [28/Feb/2019:17:19:19 +0000] "GET /api/nowplaying/1 HTTP/1.1" 200 3367 "http://solarsoundsystem.org:8088/station/1/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36" "-"
web_1       | 79.176.232.113 - - [28/Feb/2019:17:19:32 +0000] "GET /api/station/1/status HTTP/1.1" 200 59 "http://solarsoundsystem.org:8088/station/1/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36" "-"
web_1       | 79.176.232.113 - - [28/Feb/2019:17:19:35 +0000] "GET /api/nowplaying/1 HTTP/1.1" 200 3367 "http://solarsoundsystem.org:8088/station/1/profile" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36" "-"
Vaalyn commented 5 years ago

The cronjobs do not run in a separate container but inside of the azuracast_web_1 container so you will not see any additional containers spinning up. You can see when the cron was run the last time by checking the time that is printed on the bottom of these task panels in your screenshot. So 2 minutes ago, 7 minutes ago...

suparub commented 5 years ago

alright, despite that the "now playing" songs and other cron related events are not updated and I need to do it manually. Also as I have read here, I have double checked that the the mount point Im using is set to default

dfsdfds

Vaalyn commented 5 years ago

There is one error I can see in your logs:

AzuraCast Feedback Response: Error: Cannot normalize attribute "extra_metadata" because the injected serializer is not a normalizer on /var/azuracast/www/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php L129

I can also see this error in my installation and it seems to be related to the latest commit 7a872d145b303d8f9381730862e2f4e23ee2c19d which added these extra_metadata stuff.

@SlvrEagle23 Do you have an idea were this is coming from? I'm not sure where this error is originating from exactly.

Vaalyn commented 5 years ago

What I find a little strange however is that my Cronjobs / Sync Tasks are working fine 🤔

suparub commented 5 years ago

If I remember well, it was happening before the update to 0.9.3. I also tried before to add a shoutcast in order to send a stream also to shoutcast then I removed it because it was causing bugs in the playlist when I updated to 0.9.3, see : https://github.com/AzuraCast/AzuraCast/issues/1227

one sure thing is it was working at some point before by looking at the stats

workingbfore

BusterNeece commented 5 years ago

@rubensben Any time synchronization is not working properly, you should always try to manually run the task from that same administration panel (via the "Run Task" button below) and see if it produces any error messages immediately.

suparub commented 5 years ago

Hi thx @SlvrEagle23, I ran all the tasks manually and they are all working fine.

Strange thing I tried to login from my mobile but it doesnt let me (not error, just staying on the login page).

As a reccord, here are the different things I have changed from the original version :

BusterNeece commented 5 years ago

@rubensben If all the synchronization tasks are running fine for you now, I will close this ticket.

suparub commented 5 years ago

Hi, sorry to reopen but the task are working manually but not automaticly. I'm still facing the same problem

notupdating

BusterNeece commented 5 years ago

@rubensben These lines:

web_1       | Feb 28 17:19:01 4316d2478ca9 cron[54]: (*system*php) NUMBER OF HARD LINKS > 1 (/etc/cron.d/php)
web_1       | Feb 28 17:19:01 4316d2478ca9 cron[54]: (*system*certbot) NUMBER OF HARD LINKS > 1 (/etc/cron.d/certbot)
web_1       | Feb 28 17:19:01 4316d2478ca9 cron[54]: (*system*azuracast) NUMBER OF HARD LINKS > 1 (/etc/cron.d/azuracast)

...are not normal and indicate there's an error with cron processing the file.

What is your host operating system for the Docker installation?

suparub commented 5 years ago

Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-45-generic x86_64)

CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS              PORTS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NAMES
4316d2478ca9        azuracast/azuracast_web_v2:latest     "dockerize -wait tcp…"   11 hours ago        Up 11 hours         0.0.0.0:8088->80/tcp, 0.0.0.0:444->443/tcp                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         azuracast_web_1
621b0619ebf1        azuracast/azuracast_db:latest         "docker-entrypoint.s…"   11 hours ago        Up 11 hours         3306/tcp                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           azuracast_mariadb_1
7b9755f06352        azuracast/azuracast_radio:latest      "/usr/bin/supervisor…"   11 hours ago        Up 11 hours         0.0.0.0:8000->8000/tcp, 8001-8004/tcp, 0.0.0.0:8005-8006->8005-8006/tcp, 8007-8009/tcp, 0.0.0.0:8010->8010/tcp, 8011-8014/tcp, 0.0.0.0:8015-8016->8015-8016/tcp, 8017-8019/tcp, 0.0.0.0:8020->8020/tcp, 8021-8024/tcp, 0.0.0.0:8025-8026->8025-8026/tcp, 8027-8029/tcp, 0.0.0.0:8030->8030/tcp, 8031-8034/tcp, 0.0.0.0:8035-8036->8035-8036/tcp, 8037-8039/tcp, 0.0.0.0:8040->8040/tcp, 8041-8044/tcp, 0.0.0.0:8045-8046->8045-8046/tcp, 8047-8049/tcp, 0.0.0.0:8050->8050/tcp, 8051-8054/tcp, 0.0.0.0:8055-8056->8055-8056/tcp, 8057-8059/tcp, 0.0.0.0:8060->8060/tcp, 8061-8064/tcp, 0.0.0.0:8065-8066->8065-8066/tcp, 8067-8069/tcp, 0.0.0.0:8070->8070/tcp, 8071-8074/tcp, 0.0.0.0:8075-8076->8075-8076/tcp, 8077-8089/tcp, 0.0.0.0:8090->8090/tcp, 8091-8094/tcp, 8097-8500/tcp, 0.0.0.0:8095-8096->8095-8096/tcp, 9001/tcp   azuracast_stations
be7fb8b364d9        azuracast/azuracast_influxdb:latest   "/entrypoint.sh infl…"   11 hours ago        Up 11 hours         8086/tcp                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           azuracast_influxdb_1
0d5ac9ff4287        azuracast/azuracast_redis:latest      "docker-entrypoint.s…"   11 hours ago        Up 11 hours         6379/tcp                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           azuracast_redis_1

Here is my docker-compose.override.yml


#
# AzuraCast Docker Compose Configuration File
#
# When updating, you will be prompted to replace this file with a new
# version; you should do this whenever possible to take advantage of
# new updates.
#
# If you need to customize this file, you can create a new file named:
#   docker-compose.override.yml
# with any changes you need to make.
#
version: '2.2'

services:
  web:
    image: azuracast/azuracast_web_v2:latest
    # Want to customize the HTTP/S ports? Follow the instructions here:
    # https://github.com/AzuraCast/AzuraCast/blob/master/SUPPORT.md#use-non-standard-ports
    ports:
      - '${AZURACAST_HTTP_PORT:-80}:80'
      - '${AZURACAST_HTTPS_PORT:-443}:443'
    depends_on:
      - mariadb
      - influxdb
      - stations
      - redis
    env_file: azuracast.env
    environment: &default-environment
      AZURACAST_DC_REVISION: 5
    volumes:
      - /media/airtime-nfs/azuracast:/mnt/chezyouhoo
      - /home/admin/conf/web/:/var/azuracast/ssl
      - letsencrypt:/etc/letsencrypt
      - www_data:/var/azuracast/www
      - tmp_data:/var/azuracast/www_tmp
      - station_data:/var/azuracast/stations
      - shoutcast2_install:/var/azuracast/servers/shoutcast2
    restart: always
    logging: &default-logging
      options:
        max-size: "1m"
        max-file: "5"

  mariadb:
    image: azuracast/azuracast_db:latest
    volumes:
      - db_data:/var/lib/mysql
    env_file: azuracast.env
    environment:
      <<: *default-environment
    restart: always
    logging: *default-logging

  influxdb:
    image: azuracast/azuracast_influxdb:latest
    volumes:
      - influx_data:/var/lib/influxdb
    restart: always
    logging: *default-logging

  redis:
    image: azuracast/azuracast_redis:latest
    restart: always
    logging: *default-logging

  stations:
    container_name: azuracast_stations
    image: azuracast/azuracast_radio:latest
    ports:
    # Uncomment the line below to expose the full range of available station ports.
    # Note: This is not recommended currently due to performance and memory usage problems with Docker.
    # - '8000-8500:8000-8500'
     - '8000:8000'
     - '8005:8005'
     - '8006:8006'
     - '8010:8010'
     - '8015:8015'
     - '8016:8016'
     - '8020:8020'
     - '8025:8025'
     - '8026:8026'
     - '8030:8030'
     - '8035:8035'
     - '8036:8036'
     - '8040:8040'
     - '8045:8045'
     - '8046:8046'
     - '8050:8050'
     - '8055:8055'
     - '8056:8056'
     - '8060:8060'
     - '8065:8065'
     - '8066:8066'
     - '8070:8070'
     - '8075:8075'
     - '8076:8076'
     - '8090:8090'
     - '8095:8095'
     - '8096:8096'
    volumes:
     - /media/airtime-nfs/azuracast:/mnt/chezyouhoo
     - /home/admin/conf/web/:/var/azuracast/ssl
     - station_data:/var/azuracast/stations
     - shoutcast2_install:/var/azuracast/servers/shoutcast2
     - letsencrypt:/etc/nginx/ssl:ro
    init: true
    restart: always
    logging: *default-logging

volumes:
  db_data: {}
  influx_data: {}
  letsencrypt: {}
  shoutcast2_install: {}
  station_data: {}
  tmp_data: {}
  www_data: {}

.env


COMPOSE_PROJECT_NAME=azuracast

AZURACAST_HTTP_PORT=8088
AZURACAST_HTTPS_PORT=444
suparub commented 5 years ago

I think I have found the solution :) > https://stackoverflow.com/questions/34962020/cron-and-crontab-files-not-executed-in-docker

I runned touch /etc/crontab /etc/cron.*/* afer entering in the dock (with docker exec -it 4316d2478ca9 bash ) and it updates the tracks :)

suparub commented 5 years ago

maybe it should be a command to run while running the docker for the first time ?

suparub commented 5 years ago

Alright, for info, Ive just updated via

./docker.sh update-self
./docker.sh update

and need to do it again

Vaalyn commented 5 years ago

When I understood the underlying issue correctly then this is due to dockers layering architecture making it so that there are multiple hardlinks to the cron file. When I look at your docker-compose.override.yml I could imagine that this is due to the image: in there. Do you really need to override this part? Normally you should only include things in this file that you want to change from the default docker-compose.yml. This cron bug seems to be specific to Debian based installations but on my server I use a Debian 9 and I can't replicate this problem there so this is most likely something that is caused by your changes. Also this seems to be the only installation where this problem happens.

BusterNeece commented 5 years ago

@rubensben That was my concern as well when I saw that; it should work without any issue, but you don't need to actually override every component that is the same as the main docker-compose.yml, only the ones that are different from that file.

suparub commented 5 years ago

@Vaalyn + @SlvrEagle23 thanks for your lights :). Alright, so to be clear, how should my docker-compose.override.yml look like ?

I just need to link 2 folders from my host as 1 it's the nfs drive mounted with all my music library and 2 it's the ssl certificate that are already automatically generated.

Also I'm running on Ubuntu 18.04.2 LTS (debian based yes, but still)

Kindly !

suparub commented 5 years ago

ups, sorry, realized that I have pasted the wrong one, here is the actual one :

#
# AzuraCast Docker Compose Configuration File
#
# When updating, you will be prompted to replace this file with a new
# version; you should do this whenever possible to take advantage of
# new updates.
#
# If you need to customize this file, you can create a new file named:
#   docker-compose.override.yml
# with any changes you need to make.
#
version: '2.2'

services:
  web:
    image: azuracast/azuracast_web_v2:latest
    # Want to customize the HTTP/S ports? Follow the instructions here:
    # https://github.com/AzuraCast/AzuraCast/blob/master/SUPPORT.md#use-non-standard-ports
    ports:
      - '${AZURACAST_HTTP_PORT:-80}:80'
      - '${AZURACAST_HTTPS_PORT:-443}:443'
    depends_on:
      - mariadb
      - influxdb
      - stations
      - redis
    env_file: azuracast.env
    environment: &default-environment
      AZURACAST_DC_REVISION: 5
    volumes:
      - /media/airtime-nfs/azuracast:/mnt/chezyouhoo
      - /home/admin/conf/web/:/var/azuracast/ssl
      - letsencrypt:/etc/letsencrypt
      - www_data:/var/azuracast/www
      - tmp_data:/var/azuracast/www_tmp
      - station_data:/var/azuracast/stations
      - shoutcast2_install:/var/azuracast/servers/shoutcast2
    restart: always
    logging: &default-logging
      options:
        max-size: "1m"
        max-file: "5"

  mariadb:
    image: azuracast/azuracast_db:latest
    volumes:
      - db_data:/var/lib/mysql
    env_file: azuracast.env
    environment:
      <<: *default-environment
    restart: always
    logging: *default-logging

  influxdb:
    image: azuracast/azuracast_influxdb:latest
    volumes:
      - influx_data:/var/lib/influxdb
    restart: always
    logging: *default-logging

  redis:
    image: azuracast/azuracast_redis:latest
    restart: always
    logging: *default-logging

  stations:
    container_name: azuracast_stations
    image: azuracast/azuracast_radio:latest
    ports:
    # Uncomment the line below to expose the full range of available station ports.
    # Note: This is not recommended currently due to performance and memory usage problems with Docker.
    # - '8000-8500:8000-8500'
     - '8000:8000'
     - '8005:8005'
     - '8006:8006'
     - '8010:8010'
     - '8015:8015'
     - '8016:8016'
     - '8020:8020'
     - '8025:8025'
     - '8026:8026'
     - '8030:8030'
     - '8035:8035'
     - '8036:8036'
     - '8040:8040'
     - '8045:8045'
     - '8046:8046'
     - '8050:8050'
     - '8055:8055'
     - '8056:8056'
     - '8060:8060'
     - '8065:8065'
     - '8066:8066'
     - '8070:8070'
     - '8075:8075'
     - '8076:8076'
     - '8090:8090'
     - '8095:8095'
     - '8096:8096'
    volumes:
     - /media/airtime-nfs/azuracast:/mnt/chezyouhoo
     - /home/admin/conf/web/:/var/azuracast/ssl
     - station_data:/var/azuracast/stations
     - shoutcast2_install:/var/azuracast/servers/shoutcast2
     - letsencrypt:/etc/nginx/ssl:ro
    init: true
    restart: always
    logging: *default-logging

volumes:
  db_data: {}
  influx_data: {}
  letsencrypt: {}
  shoutcast2_install: {}
  station_data: {}
  tmp_data: {}
  www_data: {}
Vaalyn commented 5 years ago

@rubensben This would be everything you'd need to put into that file to mount your music library and SSL certs:

version: '2.2'

services:
  web:
    volumes:
      - /media/airtime-nfs/azuracast:/mnt/chezyouhoo
      - /home/admin/conf/web/:/var/azuracast/ssl

  stations:
    volumes:
      - /media/airtime-nfs/azuracast:/mnt/chezyouhoo
      - /home/admin/conf/web/:/var/azuracast/ssl
suparub commented 5 years ago

alright thx for that, I changed the file but for you to know, the problem persist and I still need to proceed to touch /etc/crontab /etc/cron.*/ after the update

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

christiansacks commented 3 years ago

I keep getting the 5 minute task hasn't run warning when I log into azuracast as admin. How can I troubleshoot why this is happening? image When I click the "Manually run task" button, it loads but the textbox doesn't populate at all, just stays empty. Please help, I don't know what bad things this would cause, I know that it doesn't seems to notice new tracks now that I upload.

(note: I'm running docker on ubuntu 20.04: Rolling Release #b8d4570 (2021-01-30 20:17) • Docker • PHP 7.4)

BusterNeece commented 3 years ago

@christiansacks We've updated, in our rolling release channel, the logging to improve logging for critical issues, so if you manually run the sync tasks it should inform you of what's going wrong via that logs page.