Hi,
I have cloned the repo from indico/indico-containers and after running “docker-compose up” I run into issues where celery never starts. Here is what my logs show:
Do you have any suggestions for me to get this working?
Cheers
Hi,
I have cloned the repo from indico/indico-containers and after running “docker-compose up” I run into issues where celery never starts. Here is what my logs show:
Do you have any suggestions for me to get this working?
Cheers
You probabaly need to create a data (and maybe a data/redis and data/log ) directory first.
Hi,
Thanks for your response. Those directories were already there:
indico % ls data
log redis
The you need to check why the redis service is not coming up.
what is the output of docker-compose log redis
(in a second terminal)?
Hi,
Redis is working, it’s celery that is failing as you can see in my initial snapshot. It can’t get a 200 response from http://indico-web:59999
docker-compose logs indico-redis shows this:
while the logs for indico-celery display this:
I wonder if this check broke when we added enforcement hat the Host
header needs to match the hostname from BASE_URL
…
from the the indico-celery container issuing this cmd:
curl http://indico-web:59999
returns an html page that includes this:
if I issue the command found in the run_celery.sh script:
curl -L --max-time 10 -s -o /dev/null -w ‘’%{http_code}‘’
then the response is 404, not the expected 200 that will then start the celery worker:
Does celery really need a running web service? I don’t think so, so the check seems superfluos here.
That’s how it is in the run_celery.sh script:
Try to just remove the 'waiting for indico web and the while loop. The celerey workeer can run just fine without the web frontend
Hello,
Yes I tried that earlier and it worked, I have to do it from inside the container. However every time “docker-compose down” is run this file is then reset to its original.
Yes, you would need to rebuild the image with the new version of the entrypoint script ( or as a band-aid mount the entrypoint script from the docker-compose file)
Hello,
Unless I am doing something wrong (probably i am), I can’t rebuild the image so that it uses the updated run_celery.sh script. I deleted the image and then ran “docker-compose up --build” but that didn’t work.
I also tried and added this line to the list of volumes for the indico-web service in the docker-compose.yml:
that successfully copied and used the updated script but eventually the site failed to start with an Internal Server Error. It complains about a missing db table:
This indicates that the new build is from a newer indico version, so either do a indico db upgrade ( I guess you could even put it in the entrypoint script) or make sure the build uses the crrect source checkout (I did not check how this repo does set up things):
I have made some changes and have this working although a few warnings keep appearing like these:
there warnings are safe to ignore; and it looks like we haven’t released a 3.2 docker image yet (just an oversight!)