mirror of
https://github.com/opencloud-eu/opencloud-compose.git
synced 2026-08-07 12:28:43 +08:00
Compare commits
6 Commits
5a1d9d4b9b
...
38f4ea52a5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
38f4ea52a5 | ||
|
|
03a4587c90 | ||
|
|
3813131dfd | ||
|
|
b5eb7bb7ca | ||
|
|
f01a8969bf | ||
|
|
87cbdc05e3 |
19
.env.example
19
.env.example
@@ -24,6 +24,10 @@ INSECURE=true
|
||||
#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml:idm/ldap-keycloak.yml:traefik/ldap-keycloak.yml
|
||||
# External IDP
|
||||
#COMPOSE_FILE=docker-compose.yml:weboffice/collabora.yml:traefik/opencloud.yml:traefik/collabora.yml:idm/external-idp.yml
|
||||
# Euro Office with traefik and letsencrypt
|
||||
#COMPOSE_FILE=docker-compose.yml:weboffice/euroffice.yml:traefik/opencloud.yml:traefik/euroffice.yml
|
||||
# Euro Office with external proxy (Nginx, Caddy, etc.)
|
||||
#COMPOSE_FILE=docker-compose.yml:weboffice/euroffice.yml:external-proxy/opencloud.yml:external-proxy/euroffice.yml
|
||||
|
||||
## Traefik Settings ##
|
||||
# Note: Traefik is always enabled and can't be disabled.
|
||||
@@ -239,6 +243,21 @@ COLLABORA_SSL_VERIFICATION=false
|
||||
COLLABORA_HOME_MODE=
|
||||
|
||||
|
||||
### Euro Office Settings ###
|
||||
# Domain of Euro Office, where you can find the document server.
|
||||
# Defaults to "euro-office.opencloud.test"
|
||||
EURO_OFFICE_DOMAIN=
|
||||
# JWT Secret for Euro Office. IMPORTANT: Change this for production!
|
||||
# Defaults to "changeme"
|
||||
EURO_OFFICE_JWT_SECRET=
|
||||
# Euro Office Docker image.
|
||||
# Defaults to "ghcr.io/euro-office/documentserver"
|
||||
EURO_OFFICE_DOCKER_IMAGE=
|
||||
# Euro Office Docker tag.
|
||||
# Defaults to "latest"
|
||||
EURO_OFFICE_DOCKER_TAG=
|
||||
|
||||
|
||||
### Virusscanner Settings ###
|
||||
# IMPORTANT: If you enable antivirus, you also MUST configure the START_ADDITIONAL_SERVICES
|
||||
# envvar in the OpenCloud Settings above by adding 'antivirus' to the list.
|
||||
|
||||
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
config/euro-office/init-wopi.sh text eol=lf
|
||||
71
config/euro-office/app-registry.yaml
Normal file
71
config/euro-office/app-registry.yaml
Normal file
@@ -0,0 +1,71 @@
|
||||
app_registry:
|
||||
mimetypes:
|
||||
- mime_type: application/pdf
|
||||
extension: pdf
|
||||
name: PDF
|
||||
description: PDF document
|
||||
icon: ''
|
||||
default_app: ''
|
||||
allow_creation: false
|
||||
- mime_type: application/vnd.oasis.opendocument.text
|
||||
extension: odt
|
||||
name: OpenDocument
|
||||
description: OpenDocument text document
|
||||
icon: ''
|
||||
default_app: Collabora
|
||||
allow_creation: true
|
||||
- mime_type: application/vnd.oasis.opendocument.spreadsheet
|
||||
extension: ods
|
||||
name: OpenSpreadsheet
|
||||
description: OpenDocument spreadsheet document
|
||||
icon: ''
|
||||
default_app: Collabora
|
||||
allow_creation: true
|
||||
- mime_type: application/vnd.oasis.opendocument.presentation
|
||||
extension: odp
|
||||
name: OpenPresentation
|
||||
description: OpenDocument presentation document
|
||||
icon: ''
|
||||
default_app: Collabora
|
||||
- mime_type: application/vnd.oasis.opendocument.graphics
|
||||
extension: odg
|
||||
name: OpenGraphics
|
||||
description: OpenDocument graphics document
|
||||
icon: ''
|
||||
default_app: Collabora
|
||||
allow_creation: true
|
||||
- mime_type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
|
||||
extension: docx
|
||||
name: Microsoft Word
|
||||
description: Microsoft Word document
|
||||
icon: ''
|
||||
default_app: Euro-Office
|
||||
allow_creation: true
|
||||
- mime_type: application/vnd.openxmlformats-officedocument.wordprocessingml.form
|
||||
extension: docxf
|
||||
name: Form Document
|
||||
description: Form Document
|
||||
icon: ''
|
||||
default_app: Euro-Office
|
||||
allow_creation: true
|
||||
- mime_type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
|
||||
extension: xlsx
|
||||
name: Microsoft Excel
|
||||
description: Microsoft Excel document
|
||||
icon: ''
|
||||
default_app: Euro-Office
|
||||
allow_creation: true
|
||||
- mime_type: application/vnd.openxmlformats-officedocument.presentationml.presentation
|
||||
extension: pptx
|
||||
name: Microsoft PowerPoint
|
||||
description: Microsoft PowerPoint document
|
||||
icon: ''
|
||||
default_app: Euro-Office
|
||||
allow_creation: true
|
||||
- mime_type: application/vnd.jupyter
|
||||
extension: ipynb
|
||||
name: Jupyter Notebook
|
||||
description: Jupyter Notebook
|
||||
icon: ''
|
||||
default_app: ''
|
||||
allow_creation: true
|
||||
57
config/euro-office/init-wopi.sh
Normal file
57
config/euro-office/init-wopi.sh
Normal file
@@ -0,0 +1,57 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
CONFIG_FILE="/etc/onlyoffice/documentserver/local.json"
|
||||
CONFIG_DIR="$(dirname "$CONFIG_FILE")"
|
||||
DATA_DIR="/var/www/onlyoffice/Data"
|
||||
WOPI_PRIVATE_KEY="${DATA_DIR}/wopi_private.key"
|
||||
WOPI_PUBLIC_KEY="${DATA_DIR}/wopi_public.key"
|
||||
|
||||
if [ "${WOPI_ENABLED:-false}" = "true" ]; then
|
||||
mkdir -p "$CONFIG_DIR" "$DATA_DIR"
|
||||
[ -f "$CONFIG_FILE" ] || echo '{}' > "$CONFIG_FILE"
|
||||
|
||||
if [ ! -f "$WOPI_PRIVATE_KEY" ]; then
|
||||
echo "Generating WOPI private key..."
|
||||
openssl genpkey -algorithm RSA -outform PEM -out "$WOPI_PRIVATE_KEY" >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ ! -f "$WOPI_PUBLIC_KEY" ]; then
|
||||
echo "Generating WOPI public key..."
|
||||
openssl rsa -RSAPublicKey_out -in "$WOPI_PRIVATE_KEY" \
|
||||
-outform "MS PUBLICKEYBLOB" -out "$WOPI_PUBLIC_KEY" >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
WOPI_PRIVATE_KEY_CONTENT=$(cat "$WOPI_PRIVATE_KEY")
|
||||
WOPI_PUBLIC_KEY_CONTENT=$(openssl base64 -in "$WOPI_PUBLIC_KEY" -A)
|
||||
WOPI_MODULUS=$(openssl rsa -pubin -inform "MS PUBLICKEYBLOB" -modulus -noout \
|
||||
-in "$WOPI_PUBLIC_KEY" | sed 's/Modulus=//' | \
|
||||
python3 -c "import sys,binascii,base64; print(base64.b64encode(binascii.unhexlify(sys.stdin.read().strip())).decode())")
|
||||
|
||||
WOPI_EXPONENT=$(openssl rsa -pubin -inform "MS PUBLICKEYBLOB" -text -noout \
|
||||
-in "$WOPI_PUBLIC_KEY" | grep -oP '(?<=Exponent: )\d+')
|
||||
|
||||
# Merge WOPI config into local.json
|
||||
jq \
|
||||
--argjson wopiEnabled "true" \
|
||||
--arg wopiPrivateKey "$WOPI_PRIVATE_KEY_CONTENT" \
|
||||
--arg wopiPublicKey "$WOPI_PUBLIC_KEY_CONTENT" \
|
||||
--arg wopiModulus "$WOPI_MODULUS" \
|
||||
--arg wopiExponent "$WOPI_EXPONENT" \
|
||||
'.wopi.enable = $wopiEnabled |
|
||||
.wopi.privateKey = $wopiPrivateKey |
|
||||
.wopi.privateKeyOld = $wopiPrivateKey |
|
||||
.wopi.publicKey = $wopiPublicKey |
|
||||
.wopi.publicKeyOld = $wopiPublicKey |
|
||||
.wopi.modulus = $wopiModulus |
|
||||
.wopi.modulusOld = $wopiModulus |
|
||||
.wopi.exponent = ($wopiExponent | tonumber) |
|
||||
.wopi.exponentOld = ($wopiExponent | tonumber)' \
|
||||
"$CONFIG_FILE" > "${CONFIG_FILE}.tmp"
|
||||
|
||||
mv "${CONFIG_FILE}.tmp" "$CONFIG_FILE"
|
||||
echo "WOPI configuration injected successfully."
|
||||
fi
|
||||
|
||||
# Hand over to the official DocumentServer entrypoint
|
||||
exec /entrypoint.sh "$@"
|
||||
604
config/euro-office/onlyoffice-docs-formats.json
Normal file
604
config/euro-office/onlyoffice-docs-formats.json
Normal file
@@ -0,0 +1,604 @@
|
||||
[
|
||||
{
|
||||
"name": "doc",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/msword"]
|
||||
},
|
||||
{
|
||||
"name": "docm",
|
||||
"type": "word",
|
||||
"actions": ["view", "edit", "review", "comment", "encrypt"],
|
||||
"convert": ["docx", "bmp", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.ms-word.document.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "docx",
|
||||
"type": "word",
|
||||
"actions": ["view", "edit", "review", "comment", "encrypt"],
|
||||
"convert": ["bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.wordprocessingml.document"]
|
||||
},
|
||||
{
|
||||
"name": "dot",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/msword"]
|
||||
},
|
||||
{
|
||||
"name": "dotm",
|
||||
"type": "word",
|
||||
"actions": ["view", "edit", "review", "comment", "encrypt"],
|
||||
"convert": ["docx", "bmp", "docm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.ms-word.template.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "dotx",
|
||||
"type": "word",
|
||||
"actions": ["view", "edit", "review", "comment", "encrypt"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.wordprocessingml.template"]
|
||||
},
|
||||
{
|
||||
"name": "epub",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert"],
|
||||
"convert":["docx", "bmp", "docm", "dotm", "dotx", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/epub+zip"]
|
||||
},
|
||||
{
|
||||
"name": "fb2",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["text/fb2+xml", "application/x-fictionbook+xml"]
|
||||
},
|
||||
{
|
||||
"name": "fodt",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.text-flat-xml"]
|
||||
},
|
||||
{
|
||||
"name": "gdoc",
|
||||
"type": "word",
|
||||
"actions": ["view"],
|
||||
"convert": [],
|
||||
"mime": ["application/vnd.google-apps.document"]
|
||||
},
|
||||
{
|
||||
"name": "hml",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["multipart/related"]
|
||||
},
|
||||
{
|
||||
"name": "htm",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["text/html"]
|
||||
},
|
||||
{
|
||||
"name": "html",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["text/html"]
|
||||
},
|
||||
{
|
||||
"name": "hwp",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/x-hwp", "application/x-hwp-v5"]
|
||||
},
|
||||
{
|
||||
"name": "hwpx",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/x-hwpx"]
|
||||
},
|
||||
{
|
||||
"name": "md",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["text/markdown"]
|
||||
},
|
||||
{
|
||||
"name": "mht",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["message/rfc822"]
|
||||
},
|
||||
{
|
||||
"name": "mhtml",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["message/rfc822"]
|
||||
},
|
||||
{
|
||||
"name": "odt",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "review", "comment", "encrypt"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.text"]
|
||||
},
|
||||
{
|
||||
"name": "ott",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "review", "comment", "encrypt"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.text-template"]
|
||||
},
|
||||
{
|
||||
"name": "pages",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.apple.pages", "application/x-iwork-pages-sffpages"]
|
||||
},
|
||||
{
|
||||
"name": "rtf",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "review", "comment"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "txt"],
|
||||
"mime": ["application/rtf", "text/rtf"]
|
||||
},
|
||||
{
|
||||
"name": "stw",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.sun.xml.writer.template"]
|
||||
},
|
||||
{
|
||||
"name": "sxw",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.sun.xml.writer"]
|
||||
},
|
||||
{
|
||||
"name": "txt",
|
||||
"type": "word",
|
||||
"actions": ["view", "lossy-edit"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf"],
|
||||
"mime": ["text/plain"]
|
||||
},
|
||||
{
|
||||
"name": "wps",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.ms-works"]
|
||||
},
|
||||
{
|
||||
"name": "wpt",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": []
|
||||
},
|
||||
{
|
||||
"name": "xml",
|
||||
"type": "word",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["docx", "xlsx", "bmp", "csv", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "ods", "odt", "ots", "ott", "pdf", "pdfa", "png", "rtf", "txt", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/xml", "text/xml"]
|
||||
},
|
||||
{
|
||||
"name": "csv",
|
||||
"type": "cell",
|
||||
"actions": ["view", "lossy-edit", "customfilter"],
|
||||
"convert": ["xlsx", "bmp", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["text/csv", "application/csv", "text/x-comma-separated-values", "text/x-csv"]
|
||||
},
|
||||
{
|
||||
"name": "et",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": []
|
||||
},
|
||||
{
|
||||
"name": "ett",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": []
|
||||
},
|
||||
{
|
||||
"name": "fods",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.oasis.opendocument.spreadsheet-flat-xml"]
|
||||
},
|
||||
{
|
||||
"name": "gsheet",
|
||||
"type": "cell",
|
||||
"actions": ["view"],
|
||||
"convert": [],
|
||||
"mime": ["application/vnd.google-apps.spreadsheet"]
|
||||
},
|
||||
{
|
||||
"name": "numbers",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.apple.numbers", "application/x-iwork-numbers-sffnumbers"]
|
||||
},
|
||||
{
|
||||
"name": "ods",
|
||||
"type": "cell",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.oasis.opendocument.spreadsheet"]
|
||||
},
|
||||
{
|
||||
"name": "ots",
|
||||
"type": "cell",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "pdf", "pdfa", "png", "tsv", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.oasis.opendocument.spreadsheet-template"]
|
||||
},
|
||||
{
|
||||
"name": "tsv",
|
||||
"type": "cell",
|
||||
"actions": ["view", "lossy-edit", "customfilter"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["text/tab-separated-values"]
|
||||
},
|
||||
{
|
||||
"name": "sxc",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.sun.xml.calc"]
|
||||
},
|
||||
{
|
||||
"name": "xls",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.ms-excel"]
|
||||
},
|
||||
{
|
||||
"name": "xlsb",
|
||||
"type": "cell",
|
||||
"actions": ["view", "edit", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.ms-excel.sheet.binary.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "xlsm",
|
||||
"type": "cell",
|
||||
"actions": ["view", "edit", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.ms-excel.sheet.macroenabled.12", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]
|
||||
},
|
||||
{
|
||||
"name": "xlsx",
|
||||
"type": "cell",
|
||||
"actions": ["view", "edit", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]
|
||||
},
|
||||
{
|
||||
"name": "xlt",
|
||||
"type": "cell",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm", "xltx"],
|
||||
"mime": ["application/vnd.ms-excel"]
|
||||
},
|
||||
{
|
||||
"name": "xltm",
|
||||
"type": "cell",
|
||||
"actions": ["view", "edit", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltx"],
|
||||
"mime": ["application/vnd.ms-excel.template.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "xltx",
|
||||
"type": "cell",
|
||||
"actions": ["view", "edit", "customfilter", "comment", "encrypt"],
|
||||
"convert": ["xlsx", "bmp", "csv", "gif", "jpg", "ods", "ots", "pdf", "pdfa", "png", "tsv", "xlsm", "xltm"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.spreadsheetml.template"]
|
||||
},
|
||||
{
|
||||
"name": "dps",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm"],
|
||||
"mime": []
|
||||
},
|
||||
{
|
||||
"name": "dpt",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm"],
|
||||
"mime": []
|
||||
},
|
||||
{
|
||||
"name": "fodp",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm"],
|
||||
"mime": ["application/vnd.oasis.opendocument.presentation-flat-xml"]
|
||||
},
|
||||
{
|
||||
"name": "gslides",
|
||||
"type": "slide",
|
||||
"actions": ["view"],
|
||||
"convert": [],
|
||||
"mime": ["application/vnd.google-apps.presentation"]
|
||||
},
|
||||
{
|
||||
"name": "key",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.apple.keynote", "application/x-iwork-keynote-sffkey", "application/vnd.apple.keynote.13"]
|
||||
},
|
||||
{
|
||||
"name": "odg",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.graphics", "application/x-vnd.oasis.opendocument.graphics"]
|
||||
},
|
||||
{
|
||||
"name": "odp",
|
||||
"type": "slide",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.presentation"]
|
||||
},
|
||||
{
|
||||
"name": "otp",
|
||||
"type": "slide",
|
||||
"actions": ["view", "lossy-edit", "auto-convert", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.oasis.opendocument.presentation-template"]
|
||||
},
|
||||
{
|
||||
"name": "pot",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint"]
|
||||
},
|
||||
{
|
||||
"name": "potm",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint.template.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "potx",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.presentationml.template"]
|
||||
},
|
||||
{
|
||||
"name": "pps",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint"]
|
||||
},
|
||||
{
|
||||
"name": "ppsm",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint.slideshow.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "ppsx",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "pptm", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.presentationml.slideshow"]
|
||||
},
|
||||
{
|
||||
"name": "ppt",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint"]
|
||||
},
|
||||
{
|
||||
"name": "pptm",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "txt"],
|
||||
"mime": ["application/vnd.ms-powerpoint.presentation.macroenabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "pptx",
|
||||
"type": "slide",
|
||||
"actions": ["view", "edit", "comment", "encrypt"],
|
||||
"convert": ["bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.presentationml.presentation"]
|
||||
},
|
||||
{
|
||||
"name": "sxi",
|
||||
"type": "slide",
|
||||
"actions": ["view", "auto-convert"],
|
||||
"convert": ["pptx", "bmp", "gif", "jpg", "odp", "otp", "pdf", "pdfa", "png", "potm", "potx", "ppsm", "ppsx", "pptm", "txt"],
|
||||
"mime": ["application/vnd.sun.xml.impress"]
|
||||
},
|
||||
{
|
||||
"name": "djvu",
|
||||
"type": "pdf",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["image/vnd.djvu"]
|
||||
},
|
||||
{
|
||||
"name": "docxf",
|
||||
"type": "pdf",
|
||||
"actions": ["view"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.wordprocessingml.document.docxf"]
|
||||
},
|
||||
{
|
||||
"name": "oform",
|
||||
"type": "pdf",
|
||||
"actions": ["view"],
|
||||
"convert": ["pdf"],
|
||||
"mime": ["application/vnd.openxmlformats-officedocument.wordprocessingml.document.oform"]
|
||||
},
|
||||
{
|
||||
"name": "oxps",
|
||||
"type": "pdf",
|
||||
"actions": ["view"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/oxps"]
|
||||
},
|
||||
{
|
||||
"name": "pdf",
|
||||
"type": "pdf",
|
||||
"actions": ["view", "edit", "comment", "fill", "encrypt"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/pdf", "application/acrobat", "application/nappdf", "application/x-pdf", "image/pdf"]
|
||||
},
|
||||
{
|
||||
"name": "xps",
|
||||
"type": "pdf",
|
||||
"actions": ["view"],
|
||||
"convert": ["docx", "bmp", "docm", "dotm", "dotx", "epub", "fb2", "gif", "html", "jpg", "md", "odt", "ott", "pdf", "pdfa", "png", "rtf", "txt"],
|
||||
"mime": ["application/vnd.ms-xpsdocument", "application/xps"]
|
||||
},
|
||||
{
|
||||
"name": "vsdx",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.drawing, application/vnd.visio2013", "application/vnd.visio"]
|
||||
},
|
||||
{
|
||||
"name": "vsdm",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.drawing.macroEnabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "vssm",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.stencil.macroEnabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "vssx",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.stencil"]
|
||||
},
|
||||
{
|
||||
"name": "vstm",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.template.macroEnabled.12"]
|
||||
},
|
||||
{
|
||||
"name": "vstx",
|
||||
"type": "diagram",
|
||||
"actions": ["view"],
|
||||
"convert": ["bmp", "gif", "jpg", "pdf", "pdfa", "png"],
|
||||
"mime": ["application/vnd.ms-visio.template"]
|
||||
},
|
||||
{
|
||||
"name": "bmp",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/bmp"]
|
||||
},
|
||||
{
|
||||
"name": "gif",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/gif"]
|
||||
},
|
||||
{
|
||||
"name": "heic",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/heic"]
|
||||
},
|
||||
{
|
||||
"name": "heif",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/heif"]
|
||||
},
|
||||
{
|
||||
"name": "jpg",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/jpeg"]
|
||||
},
|
||||
{
|
||||
"name": "pdfa",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["application/pdf", "application/acrobat", "application/nappdf", "application/x-pdf", "image/pdf"]
|
||||
},
|
||||
{
|
||||
"name": "png",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/png"]
|
||||
},
|
||||
{
|
||||
"name": "tif",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/tif", "image/x-tif", "application/tif", "application/x-tif"]
|
||||
},
|
||||
{
|
||||
"name": "tiff",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/tiff", "image/x-tiff", "application/tiff", "application/x-tiff"]
|
||||
},
|
||||
{
|
||||
"name": "webp",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["image/webp"]
|
||||
},
|
||||
{
|
||||
"name": "zip",
|
||||
"type": "",
|
||||
"actions": [],
|
||||
"convert": [],
|
||||
"mime": ["application/zip"]
|
||||
}
|
||||
]
|
||||
@@ -22,6 +22,7 @@ directives:
|
||||
- 'https://embed.diagrams.net/'
|
||||
# In contrary to bash and docker the default is given after the | character
|
||||
- 'https://${COLLABORA_DOMAIN|collabora.opencloud.test}${TRAEFIK_PORT_HTTPS}/'
|
||||
- 'https://${EURO_OFFICE_DOMAIN|euro-office.opencloud.test}${TRAEFIK_PORT_HTTPS}/'
|
||||
# This is needed for the external-sites web extension when embedding sites
|
||||
- 'https://docs.opencloud.eu'
|
||||
img-src:
|
||||
@@ -32,7 +33,7 @@ directives:
|
||||
- 'https://tile.openstreetmap.org/'
|
||||
# In contrary to bash and docker the default is given after the | character
|
||||
- 'https://${COLLABORA_DOMAIN|collabora.opencloud.test}${TRAEFIK_PORT_HTTPS}/'
|
||||
- 'https://tile.openstreetmap.org/'
|
||||
- 'https://${EURO_OFFICE_DOMAIN|euro-office.opencloud.test}${TRAEFIK_PORT_HTTPS}/'
|
||||
manifest-src:
|
||||
- '''self'''
|
||||
media-src:
|
||||
|
||||
11
external-proxy/euroffice-exposed.yml
Normal file
11
external-proxy/euroffice-exposed.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
# only expose the ports when you know what you are doing!
|
||||
services:
|
||||
collaboration:
|
||||
ports:
|
||||
# expose the wopi server on all interfaces
|
||||
- "0.0.0.0:9300:9300"
|
||||
euro-office:
|
||||
ports:
|
||||
# expose the euro-office document server on all interfaces
|
||||
- "0.0.0.0:9900:80"
|
||||
10
external-proxy/euroffice.yml
Normal file
10
external-proxy/euroffice.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
services:
|
||||
collaboration:
|
||||
ports:
|
||||
# expose the wopi server on localhost
|
||||
- "127.0.0.1:9300:9300"
|
||||
euro-office:
|
||||
ports:
|
||||
# expose the euro-office document server on localhost
|
||||
- "127.0.0.1:9900:80"
|
||||
28
traefik/euroffice.yml
Normal file
28
traefik/euroffice.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
services:
|
||||
traefik:
|
||||
networks:
|
||||
opencloud-net:
|
||||
aliases:
|
||||
- ${EURO_OFFICE_DOMAIN:-euro-office.opencloud.test}
|
||||
- ${WOPISERVER_DOMAIN:-wopiserver.opencloud.test}
|
||||
collaboration:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.collaboration.entrypoints=https"
|
||||
- "traefik.http.routers.collaboration.rule=Host(`${WOPISERVER_DOMAIN:-wopiserver.opencloud.test}`)"
|
||||
- "traefik.http.routers.collaboration.${TRAEFIK_SERVICES_TLS_CONFIG}"
|
||||
- "traefik.http.routers.collaboration.service=collaboration"
|
||||
- "traefik.http.routers.collaboration.middlewares=hsts-header"
|
||||
- "traefik.http.services.collaboration.loadbalancer.server.port=9300"
|
||||
euro-office:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.euro-office.entrypoints=https"
|
||||
- "traefik.http.routers.euro-office.rule=Host(`${EURO_OFFICE_DOMAIN:-euro-office.opencloud.test}`)"
|
||||
- "traefik.http.routers.euro-office.${TRAEFIK_SERVICES_TLS_CONFIG}"
|
||||
- "traefik.http.routers.euro-office.service=euro-office"
|
||||
- "traefik.http.services.euro-office.loadbalancer.server.port=80"
|
||||
# websockets can't be opened when this is omitted
|
||||
- "traefik.http.middlewares.euro-office.headers.customrequestheaders.X-Forwarded-Proto=https"
|
||||
- "traefik.http.routers.euro-office.middlewares=euro-office"
|
||||
81
weboffice/euroffice.yml
Normal file
81
weboffice/euroffice.yml
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
services:
|
||||
|
||||
opencloud:
|
||||
environment:
|
||||
# this is needed for setting the correct CSP header
|
||||
EURO_OFFICE_DOMAIN: ${EURO_OFFICE_DOMAIN:-euro-office.opencloud.test}
|
||||
TRAEFIK_PORT_HTTPS: ${TRAEFIK_PORT_HTTPS:+:}${TRAEFIK_PORT_HTTPS:-}
|
||||
# expose nats and the reva gateway for the collaboration service
|
||||
NATS_NATS_HOST: 0.0.0.0
|
||||
GATEWAY_GRPC_ADDR: 0.0.0.0:9142
|
||||
volumes:
|
||||
- ./config/euro-office/app-registry.yaml:/etc/opencloud/app-registry.yaml
|
||||
|
||||
collaboration:
|
||||
# renovate: depName=opencloudeu/opencloud-rolling
|
||||
image: ${OC_DOCKER_IMAGE:-opencloudeu/opencloud-rolling}:${OC_DOCKER_TAG:-6.2.0}
|
||||
user: ${OC_CONTAINER_UID_GID:-1000:1000}
|
||||
networks:
|
||||
opencloud-net:
|
||||
depends_on:
|
||||
opencloud:
|
||||
condition: service_started
|
||||
euro-office:
|
||||
condition: service_healthy
|
||||
entrypoint:
|
||||
- /bin/sh
|
||||
command: [ "-c", "opencloud collaboration server" ]
|
||||
environment:
|
||||
COLLABORATION_GRPC_ADDR: 0.0.0.0:9301
|
||||
COLLABORATION_HTTP_ADDR: 0.0.0.0:9300
|
||||
MICRO_REGISTRY: "nats-js-kv"
|
||||
MICRO_REGISTRY_ADDRESS: "opencloud:9233"
|
||||
COLLABORATION_WOPI_SRC: https://${WOPISERVER_DOMAIN:-wopiserver.opencloud.test}${TRAEFIK_PORT_HTTPS:+:}${TRAEFIK_PORT_HTTPS:-}
|
||||
COLLABORATION_APP_NAME: "Euro-Office"
|
||||
COLLABORATION_APP_PRODUCT: "OnlyOffice"
|
||||
COLLABORATION_APP_ADDR: https://${EURO_OFFICE_DOMAIN:-euro-office.opencloud.test}${TRAEFIK_PORT_HTTPS:+:}${TRAEFIK_PORT_HTTPS:-}
|
||||
COLLABORATION_APP_ICON: https://${EURO_OFFICE_DOMAIN:-euro-office.opencloud.test}${TRAEFIK_PORT_HTTPS:+:}${TRAEFIK_PORT_HTTPS:-}/web-apps/apps/documenteditor/main/resources/img/favicon.ico
|
||||
COLLABORATION_APP_INSECURE: "${INSECURE:-true}"
|
||||
COLLABORATION_CS3API_DATAGATEWAY_INSECURE: "${INSECURE:-true}"
|
||||
COLLABORATION_APP_PROOF_DISABLE: "true"
|
||||
COLLABORATION_LOG_LEVEL: ${LOG_LEVEL:-info}
|
||||
OC_URL: https://${OC_DOMAIN:-cloud.opencloud.test}${TRAEFIK_PORT_HTTPS:+:}${TRAEFIK_PORT_HTTPS:-}
|
||||
volumes:
|
||||
# configure the .env file to use own paths instead of docker internal volumes
|
||||
- ${OC_CONFIG_DIR:-opencloud-config}:/etc/opencloud
|
||||
logging:
|
||||
driver: ${LOG_DRIVER:-local}
|
||||
restart: always
|
||||
|
||||
euro-office:
|
||||
image: ${EURO_OFFICE_DOCKER_IMAGE:-ghcr.io/euro-office/documentserver}:${EURO_OFFICE_DOCKER_TAG:-latest}
|
||||
# changelog https://github.com/EURO-office/DocumentServer/releases
|
||||
networks:
|
||||
opencloud-net:
|
||||
environment:
|
||||
WOPI_ENABLED: "true"
|
||||
JWT_SECRET: "${EURO_OFFICE_JWT_SECRET:-changeme}"
|
||||
# self-signed certificates
|
||||
USE_UNAUTHORIZED_STORAGE: "${INSECURE:-false}"
|
||||
entrypoint:
|
||||
- /bin/sh
|
||||
- /init-wopi.sh
|
||||
volumes:
|
||||
- ./config/euro-office/init-wopi.sh:/init-wopi.sh:ro
|
||||
- ./config/euro-office/onlyoffice-docs-formats.json:/var/www/onlyoffice/documentserver/document-formats/onlyoffice-docs-formats.json
|
||||
logging:
|
||||
driver: ${LOG_DRIVER:-local}
|
||||
restart: always
|
||||
healthcheck:
|
||||
test:
|
||||
[
|
||||
"CMD",
|
||||
"bash",
|
||||
"-c",
|
||||
"exec 3<>/dev/tcp/127.0.0.1/80 && printf 'GET /hosting/discovery HTTP/1.1\r\nHost: localhost\r\nConnection: close\r\n\r\n' >&3 && cat <&3 | head -1 | grep -q '200 OK'"
|
||||
]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 120s
|
||||
Reference in New Issue
Block a user