Troubleshooting¶
RabbitMQ is not persisting messages despite using Docker volumes¶
Docker will create a randomly generated hostname for each container every time you deploy a new container instance.
RabbitMQ stores persistent message/queue data using a folder structure based off a node’s hostname. If you do not set a static container hostname, then RabbitMQ will loose any unprocessed messages if you launch a new RabbitMQ container or do a docker-compose down/up.
This happens even if you use a persistent volume (docker run -v
).
This will result in tasks being lost and may be the reason a document has not been OCR’d or processed completely.
Solution:
Ensure you run the RabbitMQ container with the --hostname
option when
starting, ensuring RabbitMQ uses a static folder name every time it starts,
such as:
docker run -d --name mayan-rabbitmq --hostname mayan-rabbitmq --restart=always...
For Docker Compose:
rabbitmq:
container_name: mayan-edms-rabbitmq
image: rabbitmq:3-management
hostname: mayan-edms-rabbitmq
environment:
RABBITMQ_DEFAULT_USER: mayan
RABBITMQ_DEFAULT_PASS: mayanrabbitpass
RABBITMQ_DEFAULT_VHOST: mayan
networks:
- mayan-bridge
restart: unless-stopped
volumes:
- /docker-volumes/mayan-edms/rabbitmq:/var/lib/rabbitmq
References: - https://stackoverflow.com/questions/41330514/docker-rabbitmq-persistency
MAYAN_APT_INSTALLS does not work for Archlinux with kernels > 4.14¶
This is caused by a change from kernel 4.18 - 4.19. Metacopy on these kernels is set to yes in archlinux kernels (/sys/module/overlay/parameters/metacopy) and overlayfs should override this which it does not at the moment.
The workaround is to disable metacopy:
echo N | sudo tee /sys/module/overlay/parameters/metacopy
References:
Error: unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
¶
This happens when using the MAYAN_APT_INSTALLS
feature. It means that the
GCC
package is required to compile the packages specified with
MAYAN_APT_INSTALLS
.
Solution: Include gcc
in the list of packages specified with MAYAN_APT_INSTALLS
.