[HOWTO] Collabora 2.0 without using Docker not for prod

As I had to redo, I wrote a little script that automatize all that stuff :

#!/bin/bash

HOSTNAME=your.fdqn.net
USERNAME=you
PASSWORD=y0uR.P@sww0rd
FILEPATH=/usr/share/loolwsd
CERTPATH=/path/to/certs

docker pull collabora/code
docker run -t -d --name collabora_tmp -p 127.0.0.1:9980:9980 -e "domain=$HOSTNAME"  --restart always --cap-add MKNOD collabora/code

docker cp collabora_tmp:/opt/collaboraoffice5.1/ /opt/
docker cp collabora_tmp:/usr/bin/loolforkit /usr/bin/
docker cp collabora_tmp:/usr/bin/loolmap /usr/bin/
docker cp collabora_tmp:/usr/bin/loolmount /usr/bin/
docker cp collabora_tmp:/usr/bin/looltool /usr/bin/
docker cp collabora_tmp:/usr/bin/loolwsd /usr/bin/
docker cp collabora_tmp:/usr/bin/loolwsd-systemplate-setup /usr/bin/
docker cp collabora_tmp:/etc/loolwsd/ /etc/
docker cp collabora_tmp:/usr/share/loolwsd/ /usr/share/
docker cp collabora_tmp:/usr/lib/libPocoCrypto.so.42 /usr/lib/
docker cp collabora_tmp:/usr/lib/libPocoFoundation.so.42 /usr/lib/
docker cp collabora_tmp:/usr/lib/libPocoJSON.so.42 /usr/lib/
docker cp collabora_tmp:/usr/lib/libPocoNet.so.42 /usr/lib/
docker cp collabora_tmp:/usr/lib/libPocoNetSSL.so.42 /usr/lib/
docker cp collabora_tmp:/usr/lib/libPocoUtil.so.42 /usr/lib/
docker cp collabora_tmp:/usr/lib/libPocoXML.so.42 /usr/lib/

docker stop collabora_tmp
docker rm collabora_tmp

sudo rm /etc/loolwsd/*.pem

sudo cp $CERTPATH/cert.pem /etc/loolwsd/cert.pem
sudo cp $CERTPATH/privkey.pem /etc/loolwsd/key.pem
sudo cp $CERTPATH/chain.pem /etc/loolwsd/ca-chain.cert.pem

sudo sed -i "s@><\/file_server_root_path>@>$FILEPATH<\/file_server_root_path>@g" /etc/loolwsd/loolwsd.xml
sudo sed -i "s@><\/username>@>$USERNAME<\/username>@g" /etc/loolwsd/loolwsd.xml
sudo sed -i "s@><\/password>@>$PASSWORD<\/password>@g" /etc/loolwsd/loolwsd.xml

useradd lool
sudo setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /usr/bin/loolforkit
sudo setcap cap_sys_admin=ep /usr/bin/loolmount
mkdir -p /var/cache/loolwsd/
mkdir -p /opt/lool/child-roots/
chown -R lool:lool /var/cache/loolwsd/
chown -R lool:lool /opt/lool/child-roots/

sudo /usr/bin/loolwsd-systemplate-setup /opt/lool/systemplate /opt/collaboraoffice5.1/
sudo chown -R lool:lool /opt/lool/systemplate 

two commands should be enought to remove it all :

sudo rm -r /opt/collaboraoffice5.1 /usr/bin/lool* /etc/loolwsd /usr/share/loolwsd /usr/lib/libPoco* /var/cache/loolwsd 
sudo deluser lool

Regards.

2 Likes