Configstore and runservice not starting or logging any errors

I am running with docker-compose, the executor and scheduler log a bunch of errors about failed http requests to the runservice. The runservice and configstore don’t seem to be running because nothing is bound to their ports.

Here is my docker-compose:

agola:
    container_name: agola
    image: sorintlab/agola:latest
    volumes:
     - /data/agola:/mnt/agola
     - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped
    command:
     - "serve"
     - "-d"
     - "--config"
     - "/mnt/agola/config/config.yml"
     - "--components"
     - "all-base"

Even with debugging turned on the only logs I get are from scheduler.go
Am I missing something? It’s surprising to me that the other component’s don’t at least log a “I’m listening on this ip:port” message after they start.

This is what the start of the log looks like:

2022-06-20T00:42:39.323981949Z ERR agola/internal/services/scheduler/scheduler.go:111 >  error="failed to get running runs: Get \"http://localhost:4000/api/v1alpha/runs?asc=&phase=running\": dial tcp 127.0.0.1:4000: connect: connection refused"
2022-06-20T00:42:39.324004618Z ERR agola/internal/services/scheduler/scheduler.go:37 >  error="failed to get queued runs: Get \"http://localhost:4000/api/v1alpha/runs?asc=&phase=queued\": dial tcp 127.0.0.1:4000: connect: connection refused"
2022-06-20T00:42:40.325147437Z ERR agola/internal/services/scheduler/scheduler.go:37 >  error="failed to get queued runs: Get \"http://localhost:4000/api/v1alpha/runs?asc=&phase=queued\": dial tcp 127.0.0.1:4000: connect: connection refused"
2022-06-20T00:42:40.325416121Z ERR agola/internal/services/scheduler/scheduler.go:111 >  error="failed to get running runs: Get \"http://localhost:4000/api/v1alpha/runs?asc=&phase=running\": dial tcp 127.0.0.1:4000: connect: connection refused"

The error makes sense since nothing is listening on port 4000 according to netstat:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.11:40339        0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::8000                 :::*                    LISTEN      1/agola             
tcp6       0      0 :::4003                 :::*                    LISTEN      1/agola             
udp        0      0 127.0.0.11:38589        0.0.0.0:*                           -        

I’m not sure what to do because I can’t find any errors from the configstore or runservice. Why aren’t they started?

Is’s strange there are not other logs
Can you share the config.yml file?

I ran into similar problems which appeared to be due to trying to use a “db” backend instead of etcd (in my case, postgres). I was finally able to get it to work by building the docker image from source - it seems there have been some improvements on the main branch since the last release