Skip to main content

Troubleshooting common issues

Assuming you work on the QA-Board server:

ssh qaboard-server

Talking to the different services

You can interact with the individual services with e.g.

# read logs from a specific service
docker-compose logs -f backend

# you can get a shell on the various services:
docker-compose exec backend bash
docker-compose run proxy /bin/ash
# or with the docker-compose conventions, if the service is up:
docker exec -it qaboard_proxy_1 bash

Refer to the examples in docker-compose.yml or to the docker-compose docs.

Questions to ask if things don't work

  • Is the container even running ? Is it restarting all the time?
docker ps
  • Is the disk full?
df -h

How to restart the docker containers

Symptom:

  • Cannot load the web application
  • 500 errors
  • Often necessary if the disk got full..
docker-compose -f docker-compose.yml -f production.yml restart
# if you make changes to the docker-compose files...
docker-compose -f docker-compose.yml -f production.yml up -d

How to start from scratch the docker container

docker-compose -f docker-compose.yml -f production.yml down
docker-compose -f docker-compose.yml -f production.yml up -d

Quick wins when the disk is full

Symptom:

  • 500 errors
  • database unreachable in the logs
  • no space left on device in the logs

Remove the IIIF image cache:

# stop
docker-compose -f docker-compose.yml -f production.yml down cantaloupe
# remove with the volumes
docker-compose -f docker-compose.yml -f production.yml rm -v cantaloupe
docker-compose -f docker-compose.yml -f production.yml up -d cantaloupe

Remove unused docker images

docker image prune # -a

Re-build and start the docker container

docker-compose -f docker-compose.yml -f production.yml up -d --build
# you can rebuild a subset of the services: backend, frontend...