[Fixed with Workaround in Docker] Auto-Scheduler in Docker container suddenly stops working

[added temporary fix - see below]

Hi, everyone. I’m using the auto-scheduler as a Docker container (registry.gitlab.com/librespacefoundation/satnogs/satnogs-auto-scheduler/satnogs-auto-scheduler:master).

It hasn’t been working for about 2 days (see log below). Is anyone else having this problem?

satnogs_client_1  | Cloning into 'gr-satellites'...
auto-scheduler_1  | Update satellites, transmitters and TLEs:
auto-scheduler_1  | Download satellite information from SatNOGS DB...
auto-scheduler_1  | Download list of active transmitters between 137 and 152 MHz from SatNOGS DB...
auto-scheduler_1  | Download list of active transmitters between 400 and 470 MHz from SatNOGS DB...
auto-scheduler_1  | Download TLEs from SatNOGS DB...
auto-scheduler_1  | Download transmitter statistics from SatNOGS Network (this will take some minutes)...
auto-scheduler_1  | Filter transmitters based on ground station capability.
auto-scheduler_1  | Search passes for 0 satellites:
auto-scheduler_1  | Download list of scheduled passes from SatNOGS Network...
auto-scheduler_1  | Found 1 scheduled passes between 2026-09-01 07:15:29 and 2026-09-01 10:15:29 on ground station 3689.
auto-scheduler_1  | 1 passes selected out of 0, 440 s out of 440 s at 100.000% efficiency
auto-scheduler_1  |   GS | Sch | NORAD | Start time          | End time            | Duration | AzR El AzS | Priority | Transmitter UUID       | Mode        | Freq   | Satellite name
auto-scheduler_1  |                                                                                                                                          | misuse |
auto-scheduler_1  | Traceback (most recent call last):
auto-scheduler_1  |   File "/usr/local/bin/schedule_single_station.py", line 8, in <module>
auto-scheduler_1  |     sys.exit(main())
auto-scheduler_1  |              ^^^^^^
auto-scheduler_1  |   File "/usr/local/lib/python3.11/site-packages/auto_scheduler/cli/schedule_single_station.py", line 338, in main
auto-scheduler_1  |     schedule_single_station(
auto-scheduler_1  |   File "/usr/local/lib/python3.11/site-packages/auto_scheduler/cli/schedule_single_station.py", line 483, in schedule_single_station
auto-scheduler_1  |     print_scheduledpass_summary(
auto-scheduler_1  |   File "/usr/local/lib/python3.11/site-packages/auto_scheduler/utils.py", line 172, in print_scheduledpass_summary
auto-scheduler_1  |     sat_entry = satellites_catalog[int(satpass["satellite"]["id"])]
auto-scheduler_1  |                 ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
auto-scheduler_1  | KeyError: 69015

My docker-compose.yml:

  auto-scheduler:
    # image: librespace/satnogs-auto-scheduler:master
    image: registry.gitlab.com/librespacefoundation/satnogs/satnogs-auto-scheduler/satnogs-auto-scheduler:master
    user: '999'
      #command: 'bash -c "echo Lol; sleep 3600;"'
    command: 'bash -c "while true; do sleep 30; schedule_single_station.py -s $$SATNOGS_STATION_ID $$AUTO_SCHEDULER_EXTRA; sleep 3600; done"'
      #command: "schedule_single_station.py --help"
      #command: "cat /opt/mb/mbPrio.txt"
    read_only: true
    env_file:
      - ./station.env
    environment:
      CACHE_DIR: '/var/lib/satnogs-client/.cache/auto-scheduler'
    depends_on:
      - satnogs_client
    volumes:
      - type: 'tmpfs'
        target: '/tmp'
      - type: 'volume'
        source: 'satnogs-client'
        target: '/var/lib/satnogs-client'
      - ./mbOpt:/opt/mb
    restart: unless-stopped  # du not use with exiting client as this will just loop
    stop_grace_period: 1s

With parameters:

AUTO_SCHEDULER_EXTRA=-P /opt/mb/mbPrio.txt -m 45 -d 3.0 -T -M 0.6

It also doesn’t work if I don’t pass /opt/mb/mbPrio.txt.

1 Like

Hi DD7MB_Max,

in the mean time, there has been a network update, that changed some API-responses. There is an update to auto-scheduler aswell. You’d need to take the latest version of it.

2 Likes

Thanks for the tip. Unfortunately, it seems there isn’t an up-to-date Docker image yet.

If I specify my own Dockerfile in Docker Compose, it works (DockerfileScheduler).

The contents of the DockerfileScheduler

FROM registry.gitlab.com/librespacefoundation/satnogs/satnogs-auto-scheduler/satnogs-auto-scheduler:master

USER root

RUN apt-get update \
    && apt-get install -y --no-install-recommends git

RUN pip install --no-cache-dir --upgrade \
    "git+https://gitlab.com/librespacefoundation/satnogs/satnogs-auto-scheduler.git"

This doesn’t seem to be a stable solution, but it appears to be working for now.

1 Like