Docker image ARM64

Hello all,

I’m trying to setup collabora/code using official Docker image on ARM64 architecture, without any extra function, no options or special config. Here is docker-compose.yml:

version: ‘3’
services:
code:
privileged: true
image: collabora/code:21.11.3.4.1
restart: “no”
ports:
- 9980:9980

It seems to have a permission problem (and maybe others) with image, logs:

/docker/collabora# docker-compose up
[+] Running 2/2
⠿ Network collabora_default Created 0.9s
⠿ Container collabora-code-1 Created 0.1s
Attaching to collabora-code-1
collabora-code-1 | Generating RSA private key, 2048 bit long modulus (2 primes)
collabora-code-1 | …+++++
collabora-code-1 | …+++++
collabora-code-1 | e is 65537 (0x010001)
collabora-code-1 | Generating RSA private key, 2048 bit long modulus (2 primes)
collabora-code-1 | …+++++
collabora-code-1 | …+++++
collabora-code-1 | e is 65537 (0x010001)
collabora-code-1 | Signature ok
collabora-code-1 | subject=C = DE, ST = BW, L = Stuttgart, O = Dummy Authority, CN = localhost
collabora-code-1 | Getting CA Private Key
collabora-code-1 | Setting up watches.
collabora-code-1 | Couldn’t watch /etc/coolwsd/coolwsd.xml: Permission denied
collabora-code-1 | -rw------- 1 root root 24922 Apr 30 16:01 /etc/coolwsd/coolwsd.xml modified → restarting
collabora-code-1 | coolwsd: no process found
collabora-code-1 | Generating public/private rsa key pair.
collabora-code-1 | Your identification has been saved in /etc/coolwsd/proof_key.
collabora-code-1 | Your public key has been saved in /etc/coolwsd/proof_key.pub.
collabora-code-1 | The key fingerprint is:
collabora-code-1 | SHA256:/CygquXyO4brR7M+JeC0CZKABFHRjmFfyoTYLmvS/x8 cool@63f367d56ee5
collabora-code-1 | The key’s randomart image is:
collabora-code-1 | ±–[RSA 2048]----+
collabora-code-1 | |*o+ |
collabora-code-1 | |+ = o . |
collabora-code-1 | |.+ B o |
collabora-code-1 | |=oo = . |
collabora-code-1 | |=++ . S |
collabora-code-1 | |o=.+ o . o |
collabora-code-1 | |o.o.
E o |
collabora-code-1 | |ooo=. o |
collabora-code-1 | |+BB+… |
collabora-code-1 | ±—[SHA256]-----+
collabora-code-1 | Failed to initialize COOLWSD: Access to file denied: /etc/coolwsd/coolwsd.xml
collabora-code-1 | -00001 2022-04-30 16:01:04.761205 +0000 [ coolwsd ] FTL Failed to initialize COOLWSD: Access to file denied: /etc/coolwsd/coolwsd.xml| wsd/COOLWSD.hpp:465
collabora-code-1 | Access to file denied: /etc/coolwsd/coolwsd.xml
collabora-code-1 exited with code 70

In fact, the file owner is root:root, with persmissions 600, and as collabora is running on user cool, it will not be able to read the file:

docker start bfc3b4e144bf && docker exec -it bfc3b4e144bf ls -l /etc/coolwsd/
bfc3b4e144bf
total 56
-rw-r–r-- 1 cool cool 1326 Apr 30 16:13 ca-chain.cert.pem
-rw-r–r-- 1 cool cool 1196 Apr 30 16:13 cert.pem
-rw-r–r-- 1 root root 5736 Mar 27 07:52 coolkitconfig.xcu
-rw------- 1 root root 24922 Apr 30 16:11 coolwsd.xml
-rw------- 1 cool cool 1675 Apr 30 16:13 key.pem
-rw------- 1 cool cool 1675 Apr 30 16:11 proof_key
-rw-r–r-- 1 cool cool 399 Apr 30 16:11 proof_key.pub

Can you guys point the direction on this? Is there any chance on review this image soon? I really don’t want to create my own image and perhaps miss features, updates, etc.

Thanks in advance.

By the way, x86_64 image runs fine with same docker-compose file.

Hello guys.

Since I didn’t have any answer regarding this issue, I decided to create my own image based on ubuntu 18.04, which is officially supported by Collabora via apt.

To do that, I used the script provided on the official collabora/code docker image, located in the “/start-collabora-online.sh”.

My scenario does not use ssl at backend, as my nextcloud and CODE container are on a “internal” network, with no access to Internet and no mapped ports. To do It’s job, It uses a reverse nginx proxy with SSL certificates provided automatically by Let’sEncrypt. So I didn’t perform any tests setting up It’s own certificates using the start script, nor providing my certificates do CODE container. That’s not necessary.

Anyway, It’s working really good on a rock64 4GB and USB SSD drive.

If anyone are interested in docker-compose, nginx proxy, or any other files necessary to accomplish this setup, let me know, and I will post It later. And/or facing issues on default docker image for ARM64, feel free to pull my docker image:.

docker pull asandres/collabora:21.11.4.2.1

Thanks, and happy to contribute.

1 Like

Welcome to the forum @rondex and sorry it took me this long to answer you :confused: you rock!

what do you think was going wrong here @bearon or @Ezinne ?