QNAP NAS Installation

I’m new to Mayan-EDMS and want to install it to my QNAP NAS using Docker Compose and Container Station. I’m looking for QNAP specific configuration instructions. I purchased the excellent Mayan book for 9.99 but there are not NAS specific instructions there. Has anyone installed on QNAP previously? Thank you.

I completed a QNAP installation using SSH into the QNAP and docker-compose with the example yml file but tthere are errors in the log and the web app will not open. I used the exact same method and files on my x86 pc and it works fine. There must be some issue with QNAP. I would rather have everything on my NAS and would be grateful for advice. Thank you.

[2023-02-06 22:52:17 +0000] [32] [WARNING] Worker with pid 210 was terminated due to signal 9
[2023-02-06 22:52:17 +0000] [32] [WARNING] Worker with pid 209 was terminated due to signal 9
[2023-02-06 22:52:17 +0000] [32] [WARNING] Worker with pid 208 was terminated due to signal 9
[2023-02-06 22:52:17 +0000] [211] [INFO] Booting worker with pid: 211
[2023-02-06 22:52:17 +0000] [212] [INFO] Booting worker with pid: 212
[2023-02-06 22:52:18 +0000] [213] [INFO] Booting worker with pid: 213
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
[2023-02-06 22:54:18 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:211)
[2023-02-06 22:54:18 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:212)
[2023-02-06 22:54:18 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:213)
[2023-02-06 22:54:18 +0000] [213] [INFO] Worker exiting (pid: 213)
[2023-02-06 22:54:18 +0000] [211] [INFO] Worker exiting (pid: 211)
[2023-02-06 22:54:18 +0000] [212] [INFO] Worker exiting (pid: 212)
[2023-02-06 22:54:19 +0000] [32] [WARNING] Worker with pid 211 was terminated due to signal 9
[2023-02-06 22:54:20 +0000] [32] [WARNING] Worker with pid 212 was terminated due to signal 9
[2023-02-06 22:54:20 +0000] [32] [WARNING] Worker with pid 213 was terminated due to signal 9
[2023-02-06 22:54:20 +0000] [223] [INFO] Booting worker with pid: 223
[2023-02-06 22:54:20 +0000] [222] [INFO] Booting worker with pid: 222
[2023-02-06 22:54:20 +0000] [224] [INFO] Booting worker with pid: 224
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
[2023-02-06 22:56:20 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:222)
[2023-02-06 22:56:20 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:223)
[2023-02-06 22:56:20 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:224)
[2023-02-06 22:56:20 +0000] [222] [INFO] Worker exiting (pid: 222)
[2023-02-06 22:56:22 +0000] [32] [WARNING] Worker with pid 223 was terminated due to signal 9
[2023-02-06 22:56:22 +0000] [32] [WARNING] Worker with pid 224 was terminated due to signal 9
[2023-02-06 22:56:22 +0000] [32] [WARNING] Worker with pid 222 was terminated due to signal 9
[2023-02-06 22:56:22 +0000] [240] [INFO] Booting worker with pid: 240
[2023-02-06 22:56:22 +0000] [241] [INFO] Booting worker with pid: 241
[2023-02-06 22:56:22 +0000] [242] [INFO] Booting worker with pid: 242
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
[2023-02-06 22:58:22 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:240)
[2023-02-06 22:58:22 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:241)
[2023-02-06 22:58:22 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:242)
[2023-02-06 22:58:22 +0000] [242] [INFO] Worker exiting (pid: 242)
[2023-02-06 22:58:22 +0000] [241] [INFO] Worker exiting (pid: 241)
[2023-02-06 22:58:22 +0000] [240] [INFO] Worker exiting (pid: 240)
[2023-02-06 22:58:23 +0000] [32] [WARNING] Worker with pid 242 was terminated due to signal 9
[2023-02-06 22:58:23 +0000] [32] [WARNING] Worker with pid 240 was terminated due to signal 9
[2023-02-06 22:58:23 +0000] [32] [WARNING] Worker with pid 241 was terminated due to signal 9
[2023-02-06 22:58:23 +0000] [243] [INFO] Booting worker with pid: 243
[2023-02-06 22:58:23 +0000] [244] [INFO] Booting worker with pid: 244
[2023-02-06 22:58:23 +0000] [245] [INFO] Booting worker with pid: 245
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
[2023-02-06 23:00:23 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:243)
[2023-02-06 23:00:23 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:244)
[2023-02-06 23:00:23 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:245)
[2023-02-06 23:00:23 +0000] [244] [INFO] Worker exiting (pid: 244)
[2023-02-06 23:00:23 +0000] [245] [INFO] Worker exiting (pid: 245)
[2023-02-06 23:00:23 +0000] [243] [INFO] Worker exiting (pid: 243)
[2023-02-06 23:00:24 +0000] [32] [WARNING] Worker with pid 245 was terminated due to signal 9
[2023-02-06 23:00:24 +0000] [32] [WARNING] Worker with pid 243 was terminated due to signal 9
[2023-02-06 23:00:25 +0000] [32] [WARNING] Worker with pid 244 was terminated due to signal 9
[2023-02-06 23:00:25 +0000] [246] [INFO] Booting worker with pid: 246
[2023-02-06 23:00:25 +0000] [247] [INFO] Booting worker with pid: 247
[2023-02-06 23:00:25 +0000] [248] [INFO] Booting worker with pid: 248
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
[2023-02-06 23:02:25 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:246)
[2023-02-06 23:02:25 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:247)
[2023-02-06 23:02:25 +0000] [32] [CRITICAL] WORKER TIMEOUT (pid:248)
[2023-02-06 23:02:25 +0000] [246] [INFO] Worker exiting (pid: 246)
[2023-02-06 23:02:25 +0000] [248] [INFO] Worker exiting (pid: 248)
[2023-02-06 23:02:25 +0000] [247] [INFO] Worker exiting (pid: 247)
[2023-02-06 23:02:26 +0000] [32] [WARNING] Worker with pid 246 was terminated due to signal 9
[2023-02-06 23:02:26 +0000] [32] [WARNING] Worker with pid 247 was terminated due to signal 9
[2023-02-06 23:02:26 +0000] [249] [INFO] Booting worker with pid: 249
[2023-02-06 23:02:26 +0000] [32] [WARNING] Worker with pid 248 was terminated due to signal 9
[2023-02-06 23:02:26 +0000] [250] [INFO] Booting worker with pid: 250
[2023-02-06 23:02:26 +0000] [251] [INFO] Booting worker with pid: 251
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "
/opt/mayan-edms/lib/python3.9/site-packages/requests/init.py:102: RequestsDependencyWarning: urllib3 (1.26.14) or chardet (5.1.0)/charset_normalizer (2.0.12) doesn’t match a supported version!
warnings.warn("urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn’t match a supported "

There are several warnings indicating that some dependencies (urllib3, chardet and charset_normalizer) are outdated, which might cause issues in the system’s operation.

Several worker processes seem to have timed out, terminated due to signal 9 (SIGKILL), and restarted several times. The exact cause of the worker timeouts is not clear from this log, but could be related to a performance issue or a problem with the dependencies.

help please :slight_smile: how do i fix this?

Hi,

Without having a QNAP device I can’t help much.

I used the exact same method and files on my x86 pc and it works fine. There must be some issue with QNAP.

This is why installation instructions for all possible devices are not included. The variability of installation for too great to be able to debug and include updated instructions. These are best supported by a special interest volunteer group with access and experience with the hardware.

One thing to check is the hardware architecture. The Mayan EDMS Docker image only support amd64 architectures at the moment.

Another thing to check is that Docker implementation on NAS devices sometimes rely on custom user groups for permission. Verify the QNAP documentation to see if there are permission specific changes that need to be made to the Docker deployment.

The warnings about urllib3, chardet and charset_normalizer are normal and are cause by the transition between Python 3.9 and 3.10 taking place for some dependencies.

Also check the QNAP documentation regarding memory allocation and reservation for user deployments.

The usual foolproof way to run Mayan EDMS is to deploy it in Docker inside a VM with the CPU architecture to amd64.

Thank you Roberto I do appreciate your time. You have helped me to narrow down my focus and provided an alternative approach. I will report back here in the hope it’s useful to others in future. QNAP has a Virtualisation Station app as well as its Container Station and I can explore that too.

RE: Memory Allocation:

Via SSH on my QNAP I ran

$ docker stats

and the following output suggests it is not a CPU or memory allocation issue…

I have got Mayan-EDMS working on QNAP NAS. Took a bit of trial and error on the NAS side (the Mayan side was fine). I think the issue was to do with the way QNAP creates networks for Containers. I did not have to modify the default files of the example install to make it work. I DID have to re-enable my default ADMIN account on QNAP (which QNAP advises you to disable) because no other profile will work even if added to admin group. I used SSH into the QNAP and not the GUI in container station. I cannot see how to close this post or mark it solved.

This image shows a working network config on QNAP. I can access the Mayan app container at MY-NAS-IP:PORT where PORT is 80 or what you choose in docker run or YML

QUESTION: in Docker via the ls command via SSH into my QNAP, I see the three named networks per the YML file which all have the bridge driver. On QNAP network, there is only one ‘Container Network’ (as a QNAP Virtual Switch created automaticaly). Why not three networks? Is the Switch reflecting the Brige driver? I think the QNAP Virtual Adaptors then represent each Mayan Container defied in the YML rather than the YML network names. Still a bit confused as to how these relate. Any tips?

Here is further infor from the docker network inspect command in SSH for ALL THREE networks:

[~] # docker network inspect mayan_mayan
[
{
“Name”: “mayan_mayan”,
“Id”: “da27aebc9f0652520403758ca44b33c5aa6bee38574fbbe0fb98e27c5ff70214”,
“Created”: “2023-02-10T00:04:09.036027237Z”,
“Scope”: “local”,
“Driver”: “bridge”,
“EnableIPv6”: false,
“IPAM”: {
“Driver”: “default”,
“Options”: null,
“Config”: [
{
“Subnet”: “172.29.20.0/22”,
“Gateway”: “172.29.20.1”
}
]
},
“Internal”: false,
“Attachable”: true,
“Ingress”: false,
“ConfigFrom”: {
“Network”: “”
},
“ConfigOnly”: false,
“Containers”: {
“02495e79230b1844a45efc7e4c42b1a76db94b74e4ffeacfc3626e28a162869d”: {
“Name”: “mayan_app_1”,
“EndpointID”: “0ec685db43df608ed0e1f55e50561f0a41088d2e30b369652ec6d962dae59042”,
“MacAddress”: “02:42:ac:1d:14:03”,
“IPv4Address”: “172.29.20.3/22”,
“IPv6Address”: “”
},
“9a20ce74cf27cd2cc72839c8ad585b52cef90087fb5fc93f699dd6d4363864bd”: {
“Name”: “mayan_redis_1”,
“EndpointID”: “3fc0f9f82f718f008326ca9f90f2bce99b50cbefa69cdaa1d28d9a1d0a944203”,
“MacAddress”: “02:42:ac:1d:14:05”,
“IPv4Address”: “172.29.20.5/22”,
“IPv6Address”: “”
},
“c2acee1b6ba3ead807db9102b5cc9bc4f9a0536e72083d6eb508eee96655de80”: {
“Name”: “mayan_rabbitmq_1”,
“EndpointID”: “a3ca6136cf3ad461057b94b6ad6ba284606a074ecaed7ec9f2fd3ecef71ad414”,
“MacAddress”: “02:42:ac:1d:14:02”,
“IPv4Address”: “172.29.20.2/22”,
“IPv6Address”: “”
},
“f2a2f5ada58ee98a7bd2e43aceff23624c6ba087665527642ecfc3c75270143a”: {
“Name”: “mayan_postgresql_1”,
“EndpointID”: “831bf986f88fbadb0b15b838e7f190de1b4ae2440b8f46ad9275c99b6565a01c”,
“MacAddress”: “02:42:ac:1d:14:04”,
“IPv4Address”: “172.29.20.4/22”,
“IPv6Address”: “”
}
},
“Options”: {},
“Labels”: {
“com.docker.compose.network”: “mayan”,
“com.docker.compose.project”: “mayan”,
“com.docker.compose.version”: “1.29.2”
}
}
]
[~] # docker network inspect mayan_traefik
[
{
“Name”: “mayan_traefik”,
“Id”: “89b4f27b10bb77e44ae7ef3f9366c8f8516bb5b63748716b13d4239ae5e412f3”,
“Created”: “2023-02-10T00:11:53.037617987Z”,
“Scope”: “local”,
“Driver”: “bridge”,
“EnableIPv6”: false,
“IPAM”: {
“Driver”: “default”,
“Options”: null,
“Config”: [
{
“Subnet”: “172.29.28.0/22”,
“Gateway”: “172.29.28.1”
}
]
},
“Internal”: false,
“Attachable”: true,
“Ingress”: false,
“ConfigFrom”: {
“Network”: “”
},
“ConfigOnly”: false,
“Containers”: {},
“Options”: {},
“Labels”: {
“com.docker.compose.network”: “traefik”,
“com.docker.compose.project”: “mayan”,
“com.docker.compose.version”: “1.29.2”
}
}
]
[~] # docker network inspect mayan_keycloak
[
{
“Name”: “mayan_keycloak”,
“Id”: “57fa5d6037fca259ba6fef14f46039cf3f1601fafb68fd920c7717a1f420d460”,
“Created”: “2023-02-10T00:09:13.69178225Z”,
“Scope”: “local”,
“Driver”: “bridge”,
“EnableIPv6”: false,
“IPAM”: {
“Driver”: “default”,
“Options”: null,
“Config”: [
{
“Subnet”: “172.29.24.0/22”,
“Gateway”: “172.29.24.1”
}
]
},
“Internal”: false,
“Attachable”: true,
“Ingress”: false,
“ConfigFrom”: {
“Network”: “”
},
“ConfigOnly”: false,
“Containers”: {},
“Options”: {},
“Labels”: {
“com.docker.compose.network”: “keycloak”,
“com.docker.compose.project”: “mayan”,
“com.docker.compose.version”: “1.29.2”
}
}

QUESTION: Looks like the Docker Compose version on Container Station in QNAP could be older than expected by the Mayan install?

docker-compose ps

docker-compose ps
Name Command State Ports

mayan_app_1 /usr/local/bin/entrypoint. … Up 0.0.0.0:80->8000/tcp
mayan_postgresql_1 docker-entrypoint.sh postg … Up 5432/tcp
mayan_rabbitmq_1 docker-entrypoint.sh rabbi … Up 15671/tcp, 15672/tcp, 15691/tcp,
15692/tcp, 25672/tcp, 4369/tcp,
5671/tcp, 5672/tcp
mayan_redis_1 docker-entrypoint.sh redis … Up 6379/tcp

1 Like

The Docker Compose file of Mayan uses version 3.9. The Docker Compose of QNAP must be able to support at least that file format for it to work even if the executable version is not the latest.