基于ARM64架构的Docker搭建libreoffice

linuxserver/libreoffice

https://hub.docker.com/r/linuxserver/libreoffice

拉取镜像

docker pull linuxserver/libreoffice:arm64v8-latest

运行容器

mkdir -p /opt/liboffice/config

docker run -d \
  --name=libreoffice \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Shanghai \
  -p 3000:3000 \
  -v /opt/liboffice/config:/config \
  --restart always \
  linuxserver/libreoffice:arm64v8-latest
# docker logs  -f libreoffice
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing... 
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing... 

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \ 
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/

Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 13-keygen: executing... 

Generating 2048 bit rsa key...

ssl_gen_key_xrdp1 ok

saving to rsakeys.ini

Generating a RSA private key
......+++++
.......+++++
writing new private key to '/etc/xrdp/key.pem'
-----
[cont-init.d] 13-keygen: exited 0.
[cont-init.d] 30-config: executing... 
stat: cannot stat '/config/.config': No such file or directory
[cont-init.d] 30-config: exited 0.
[cont-init.d] 55-autostart-config: executing... 
[cont-init.d] 55-autostart-config: exited 0.
[cont-init.d] 56-tintcopy: executing... 
[cont-init.d] 56-tintcopy: exited 0.
[cont-init.d] 90-custom-folders: executing... 
[cont-init.d] 90-custom-folders: exited 0.
[cont-init.d] 99-custom-files: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-files: exited 0.
[cont-init.d] done.
[services.d] starting services
[guac-init] Auto start not set, application start on login
guacd[382]: INFO:   Guacamole proxy daemon (guacd) version 1.1.0 started
guacd[382]: INFO:   Listening on host 0.0.0.0, port 4822
[services.d] done.
Starting guacamole-lite websocket server
listening on *:3000

访问

http://HostIP:3000

缺点

1、没有API访问接口

2、不能输入中文

collabora/code

https://hub.docker.com/r/collabora/code

https://github.com/CollaboraOnline/online/tree/master/docker

https://www.collaboraoffice.com/zh/

https://www.onx8.com/post/124.html

https://collaboraonline.github.io/

https://blog.csdn.net/a295184686/article/details/78632706

https://www.collaboraoffice.com/zh/collabora-mattermost-%e5%a4%96%e6%8c%82%e7%a8%8b%e5%bc%8f/

https://www.collaboraoffice.com/zh/collabora-mattermost-%e5%a4%96%e6%8c%82%e7%a8%8b%e5%bc%8f/

Collabora Mattermost 外挂程式 Collabora Mattermost 外挂程式可让 Mattermost 使用者在 Mattermost 中读取与编辑文件。这个外挂程式是开放原始码软体,你可以在 github 上找到。

https://github.com/CollaboraOnline

https://sdk.collaboraonline.com/docs/Step_by_step_tutorial.html

https://bbs.seafile.com/t/topic/7094

Collabora Online 网页版

由您决定如何使用的云端 LibreOffice

Collabora Online 网页版是基于 LibreOffice Online 的强大云端 Office 软体,可以让您协同编辑装载在云端的主要文件、试算表和简报格式(包含 DOC, DOCX, PPT, PPTX, XLS, XLSX 还有开放文件格式 ODF 等等…..),您可以将其安装整合到内部或私有云端服务。

主要特点是支援协同编辑、卓越的支援各式 Office 档案格式。

Collabora在线开发版

拉取镜像

docker pull collabora/code:6.4.11.3

运行容器

# ---------------使用http访问-----------------------
docker run -t -d -p 0.0.0.0:9980:9980 -p 0.0.0.0:998:998 \
--name  collabora_libreoffice \
-e 'domain=58\\.215\\.13\\.190|192\\.168\\.1\\.111' \
-e "username=admin" \
-e "password=123456" \
-e "extra_params=--o:ssl.enable=false" \
--restart always \
--cap-add MKNOD collabora/code:6.4.11.3

# ---------------使用https访问--------------------------
docker run -t -d -p 0.0.0.0:9980:9980  \
--name  collabora_libreoffice \
-e 'domain=58\\.215\\.13\\.190|192\\.168\\.1\\.111' \
-e "username=admin" \
-e "password=123456" \
--restart always \
--cap-add MKNOD collabora/code:6.4.11.3

domain=表示白名单和 黑名单

参考脚本:

docker run  -t -d -p 9980:9980 -e 'domain=cloud\\.flybird\\.com'    -e "username=admin" -e "password=123456" --restart always --cap-add MKNOD collabora/code

docker run -t -d -p 127.0.0.1:9980:9980 -e "domain=<your-dot-escaped-domain>" \-e "username=admin" -e "password=123456"  -e "extra_params=--o:ssl.enable=false"

58.215.13.190

docker run -t -d -p 0.0.0.0:9980:9980  \
--name  collabora_libreoffice \
-e 'domain=58\\.215\\.13\\.190|192\\.168\\.1\\.111' \
-e "username=admin" \
-e "password=123456" \
-e "extra_params=--o:ssl.enable=false" \
--restart always \
--cap-add MKNOD collabora/code:6.4.11.3

docker run -t -d -p 0.0.0.0:9980:9980  \
--name  collabora_libreoffice \
-e "username=admin" \
-e "password=123456" \
-e "extra_params=--o:ssl.enable=false" \
--restart always \
--cap-add MKNOD collabora/code:6.4.11.3

docker rm -f collabora_libreoffice

查看日志

docker logs -f collabora_libreoffice

访问web控制台

http://124.70.210.239:9980/ 访问 会显示ok

进入 Collabora Online Development Edition (CODE) - 管理控制台:

http://124.70.210.239:9980/loleaflet/dist/admin/admin.html

http://124.70.210.239:9980/hosting/discovery

API

Office Online Server

https://sdk.collaboraonline.com/docs/postmessage_api.html

https://github.com/CollaboraOnline/alfresco-collabora-online

collabora-online-sdk-examples示例:

https://github.com/CollaboraOnline/collabora-online-sdk-examples//tree/master/webapp/nodejs

下载完成以后解压缩

执行

npm install
npm start

1.然后打开浏览器 http://127.0.0.1:3000/

2.输入服务器地址:http://124.70.210.239:9980

3.点击 Load Collabora Online 按钮