Troubleshooting (Setup Local Dev Environments) - UQ-eLIPSE/shifoo-docs GitHub Wiki

Below are some of the common issues faced when developing the local development environment

Database errorFatal (shifoo-server)

If the database starts up successfully when you run docker-compose up --build in shifoo-server but the server fails to connect to it eg. image

ensure you have cleared all old Docker volumes, containers and images.

This is because the MySQL volume can occasionally get corrupted which means that the database environment variables in docker-compose.yml will never get set and the server will never be able to connect to the database

Run the following commands to clear Docker

  1. docker-compose down (running containers)
  2. docker rm -f $(docker ps -a -q) (all containers)
  3. docker volume rm $(docker volume ls -q) (all volumes)
  4. docker rmi -f $(docker images -aq) (all images)

Very high memory usage by MySQL (shifoo-server)

If you are using Arch Linux as your operating system, you will need to add a property to the docker-compose.yml file to limit the current user's resources.

This is because by default, the nofile ulimit for all Docker containers is unlimited, which can cause huge meomry spikes when running specific processes on Docker (MySQL)

Add the following line to your db container in docker-compose.yml under healthcheck

ulimits:
    nproc: 65535
    nofile:
        soft: 26677
        hard: 46677