-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Version of the documentation
Archivematica 1.18.0
Page (and section, if applicable) where the issue occurs
- Ansible install:
https://www.archivematica.org/en/docs/archivematica-1.18/admin-manual/installation-setup/installation/install-ansible/#install-ansible - Docker Compose install
https://github.com/artefactual/archivematica/blob/qa/1.x/hack/README.md
Not supported, but it exists anyway:
- Apt repo install
https://www.archivematica.org/en/docs/archivematica-1.18/admin-manual/installation-setup/installation/install-ubuntu/#install-pkg-ubuntu
Description of the issue
All installation procedures as documented run into issues, when being executed, and it is not obvious, how to fix these:
- Ansible install: Error because module
ansible.module_utils.six.movesis missing. Same issue when enforcing install as root outside of a .venv environment:
user@archivmatica:~/archivmatica/deploy-pub/playbooks/archivematica-noble$ ansible install -f -p roles/ -r requirements.yml
Traceback (most recent call last):
File "/home/user/archivmatica/.venv/bin/ansible", line 62, in <module>
import ansible.constants as C
File "/home/user/archivmatica/.venv/lib/python3.12/site-packages/ansible/constants.py", line 19, in <module>
from ansible.config.manager import ConfigManager, ensure_type, get_ini_config_value
File "/home/user/archivmatica/.venv/lib/python3.12/site-packages/ansible/config/manager.py", line 29, in <module>
from ansible.module_utils.six.moves import configparser
ModuleNotFoundError: No module named 'ansible.module_utils.six.moves'
- Docker compose install: Error while creating the bootstrap. Docker is running in non-root headless mode, as suggested:
user@archivmatica:~/archivmatica/archivematica/hack$ make bootstrap
# successful creation of some bootstrap stuff
docker build \
-t archivematica-dashboard-frontend-builder \
-f /home/user/archivmatica/archivematica/hack/Dockerfile \
--build-arg TARGET=archivematica-dashboard-frontend-builder \
../
[+] Building 1.4s (9/9) FINISHED docker:rootless
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 10.01kB 0.0s
=> [internal] load metadata for docker.io/library/node:20 1.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 314B 0.0s
=> [internal] load build context 0.1s
=> => transferring context: 10.02kB 0.0s
=> [archivematica-dashboard-frontend-builder 1/4] FROM docker.io/library/node:20@sha256:8cdc6b9b711af0711cc6139955cc1331fab5e0a995afd3260c52736fbc338059 0.0s
=> CACHED [archivematica-dashboard-frontend-builder 2/4] COPY --link src/archivematica/dashboard/frontend /src/src/archivematica/dashboard/frontend 0.0s
=> CACHED [archivematica-dashboard-frontend-builder 3/4] WORKDIR /src/src/archivematica/dashboard/frontend 0.0s
=> CACHED [archivematica-dashboard-frontend-builder 4/4] RUN set ex && npm ci 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:b89f2f0b3ec53e9f6e7d78df96bcfdc83be5fa889015fc9e6c5068ab17560f37 0.0s
=> => naming to docker.io/library/archivematica-dashboard-frontend-builder 0.0s
docker run \
-e HOME=/tmp/npm-config \
--rm \
--user 1000:1000 \
--volume "/home/user/archivmatica/archivematica/src/archivematica/dashboard:/src/src/archivematica/dashboard" \
--entrypoint npm \
archivematica-dashboard-frontend-builder \
ci
npm error code EACCES
npm error syscall mkdir
npm error path /src/src/archivematica/dashboard/frontend/node_modules
npm error errno -13
npm error Error: EACCES: permission denied, mkdir '/src/src/archivematica/dashboard/frontend/node_modules'
npm error at async mkdir (node:internal/fs/promises:858:10)
npm error at async /usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:624:20
npm error at async Promise.allSettled (index 0)
npm error at async [reifyPackages] (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:325:11)
npm error at async Arborist.reify (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:142:5)
npm error at async CI.exec (/usr/local/lib/node_modules/npm/lib/commands/ci.js:100:5)
npm error at async Npm.exec (/usr/local/lib/node_modules/npm/lib/npm.js:207:9)
npm error at async module.exports (/usr/local/lib/node_modules/npm/lib/cli/entry.js:74:5) {
npm error errno: -13,
npm error code: 'EACCES',
npm error syscall: 'mkdir',
npm error path: '/src/src/archivematica/dashboard/frontend/node_modules'
npm error }
npm error
npm error The operation was rejected by your operating system.
npm error It is likely you do not have the permissions to access this file as the current user
npm error
npm error If you believe this might be a permissions issue, please double-check the
npm error permissions of the file and its containing directories, or try running
npm error the command again as root/Administrator.
npm error A complete log of this run can be found in: /tmp/npm-config/.npm/_logs/2025-10-10T14_09_13_922Z-debug-0.log
make: *** [Makefile:177: bootstrap-dashboard-frontend] Fehler 243This ultimately prevents both the dashboard container and the elasticsearch container to start up:
user@archivmatica:~/archivmatica/archivematica/hack$ docker compose ps -a
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
am-archivematica-dashboard-1 am-archivematica-dashboard "pyenv exec python3 …" archivematica-dashboard 10 minutes ago Exited (3) 3 minutes ago
am-archivematica-mcp-client-1 am-archivematica-mcp-client "pyenv exec python3 …" archivematica-mcp-client 10 minutes ago Up 3 minutes
am-archivematica-mcp-server-1 am-archivematica-mcp-server "pyenv exec python3 …" archivematica-mcp-server 10 minutes ago Up 3 minutes
am-archivematica-storage-service-1 am-archivematica-storage-service "pyenv exec python3 …" archivematica-storage-service 10 minutes ago Up 3 minutes 8000/tcp
am-clamavd-1 clamav/clamav-debian:1.4.3-57 "/init-unprivileged" clamavd 10 minutes ago Up 10 minutes (healthy) 7357/tcp, 127.0.0.1:62006->3310/tcp
am-elasticsearch-1 docker.elastic.co/elasticsearch/elasticsearch:8.19.3 "/bin/tini -- /usr/l…" elasticsearch 10 minutes ago Created
am-gearmand-1 artefactual/gearmand:1.1.22-alpine "docker-entrypoint.s…" gearmand 10 minutes ago Up 10 minutes (healthy) 127.0.0.1:62004->4730/tcp
am-mysql-1 percona/percona-server:8.0.43-34 "/docker-entrypoint.…" mysql 10 minutes ago Up 10 minutes 33060/tcp, 127.0.0.1:62001->3306/tcp
am-nginx-1 nginx:1.29.1 "/docker-entrypoint.…" nginx 10 minutes ago Up 10 minutes 0.0.0.0:62080->80/tcp, [::]:62080->80/tcp, 0.0.0.0:62081->8000/tcp, [::]:62081->8000/tcp- Apt Repo install:
The deb package archivematica-mcp-server requires the package python3-distutils which was deprecated in Python 3.10 and removed in Python 3.12 https://docs.python.org/3/library/distutils.html. Some of the functionality is now provided by the package setuptools https://medium.com/@syeasar.kuet/pythons-distutils-is-gone-in-ubuntu-24-04-and-a-simple-workaround-5d859dde465b. Installing that package does not help though, because the dependencies are hard coded into your deb package an cannot be met. I do not want to get into the rabbit hole of force install, so I haven't tried that.
Suggested fix
Update all installation instructions and the installer routines to match the changes in Ubuntu 24.04.
I think there have been changes in the latest Debian/Ubuntu Version regarding the enforcement of a Python venv als well as packet changes.
- The outdated ansible version 2.9.10, you want to enforce, no longer has the wanted sub packages in Python 3.12 and higher.
- The issue with the docker install is a rights issue in the dockerfile for the
make bootstrapwhich prevents the creation of a needed node, preventing the dashboard and elasticsearch from running properly - The issue with the apt packages is, that there are requirements in the package, that can no longer be met, because the package has been replaced by other packages.
For Artefactual use:
Before you close this issue, you must check off the following:
- All pull requests related to this issue are properly linked
- All pull requests related to this issue have been merged
- Details about this issue have been added to the release notes (if applicable)