Add Collabora App (#108)

Co-authored-by: Kjeld Schouten-Lebbing <kjeld@schouten-lebbing.nl>

Co-authored-by: Stavros Kois <s.kois@outlook.com>
This commit is contained in:
Kjeld Schouten-Lebbing 2021-02-15 11:31:41 +01:00 committed by kjeld Schouten-Lebbing
parent 16ec263869
commit 51ed5bd3c2
No known key found for this signature in database
GPG Key ID: 4CDAD4A532BC1EDB
11 changed files with 339 additions and 0 deletions

View File

@ -0,0 +1,18 @@
apiVersion: v2
name: collabora-online
version: 0.0.1
appVersion: 6.4.6.1
description: Collabora Online Development Edition an awesome, Online Office suite image suitable for home use.
keywords:
- collabora
- collaboration
- documents
home: https://www.collaboraoffice.com/
icon: https://avatars.githubusercontent.com/u/22418908?s=200&v=4
sources:
- https://hub.docker.com/r/collabora/code
- https://www.collaboraoffice.com/code/docker/
dependencies:
- name: common
repository: https://charts.truecharts.org/
version: 0.12.2

View File

@ -0,0 +1,18 @@
# Collabora Online (CODE)
## Introduction
This chart installs a collabora online (code) server
## Configuration
| **Description** | **Parameter** | **Type** | **Values** | **Command Example (This is the defaults)** |
|------------------------------------------------------------------------------------------------------------------------|-----------------------|----------|---------------------|--------------------------------------------|
| Controls whether the welcome screen should be shown to the users on new install and updates. | welcome.enable | bool | true|false | -o:welcome.enable=true |
| Controls whether the welcome screen should have an explanatory button instead of an X button to close the dialog. | welcome.enable_button | bool | true|false | -o:welcome.enable_button=false |
| Controls whether the welcome screen should have an explanatory button instead of an X button to close the dialog. | user_interface.mode | string | classic|notebookbar | -o:user_interface.mode=notebookbar |
| Opacity of on-screen watermark from 0.0 to 1.0 | watermark.opacity | double | 0.0 - 1.0 | -o:watermark.opacity=0.2 |
| Watermark text to be displayed on the document if entered | watermark.text | string | Any text | -o:watermark.text="" |
For more parameters and options, Bash in your container and `cat /etc/loolwsd/loolwsd.xml`

Binary file not shown.

View File

@ -0,0 +1,256 @@
groups:
- name: "Container Image"
description: "Configure Container Image"
- name: "Networking"
description: "Network Configuration"
- name: "Environment Variables"
description: "Environment Variables Configuration"
- name: "Ingress"
description: "Ingress configuration"
- name: "Storage"
description: "configure app volume mounts"
#Portal
portals:
web_portal:
protocols:
- "https"
host:
- "$node_ip"
ports:
- "$variable-service.port.nodePort"
path: "/loleaflet/dist/admin/admin.html"
questions:
#Image related
- variable: image
group: "Container Image"
label: "Collabora"
schema:
type: dict
required: true
attrs:
#Image
- variable: repository
label: "Image Repository"
schema:
type: string
default: "collabora/code"
editable: false
#Tag
- variable: tag
label: "Image Tag"
description: "Tag to use for specified image"
schema:
type: string
default: "6.4.6.2"
required: true
#Pull Policy
- variable: pullPolicy
label: "Image Pull Policy"
schema:
type: string
default: "IfNotPresent"
enum:
- value: "IfNotPresent"
description: "Only pull image if not present on host"
- value: "Always"
description: "Always pull image even if present on host"
- value: "Never"
description: "Never pull image even if it's not present on host"
# Strategy
- variable: strategyType
group: "Container Image"
label: "Update Strategy"
schema:
type: string
default: Recreate
enum:
- value: "RollingUpdate"
description: "Create new pods and then kill old ones"
- value: "Recreate"
description: "Kill existing pods before creating new ones"
# Service Configuration
- variable: service
group: "Networking"
label: "Configure Network"
schema:
type: dict
attrs:
- variable: type
label: "Service type"
schema:
type: string
default: "ClusterIP"
enum:
- value: "NodePort"
description: "NodePort"
- value: "ClusterIP"
description: "ClusterIP"
show_subquestions_if: "NodePort"
subquestions:
- variable: port
label: "Port configuration"
schema:
type: dict
attrs:
- variable: port
label: "container port"
schema:
type: int
default: 9980
editable: false
- variable: nodePort
label: "Node Port to expose for UI"
schema:
type: int
min: 9000
max: 65535
default: 30980
required: true
# environmentVariables Configuraiton
- variable: env
group: "Environment Variables"
label: "Environment Variables Configuration"
schema:
type: dict
required: true
attrs:
- variable: domain
label: "Domains will be using collabora"
description: 'Use backslash "\" before dots ".". Use pipe "|" to separate multiple domains'
schema:
type: string
default: 'nextcloud\.domain\.tld|othernextcloud\.domain\.tld'
required: true
- variable: username
label: "Username for WebUI"
schema:
type: string
default: "admin"
required: true
- variable: password
label: "Password for WebUI"
schema:
type: string
private: true
default: "changeme"
required: true
- variable: dictionaries
label: "Dictionaries to use, leave empty to use all"
schema:
type: string
default: "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru"
- variable: extra_params
label: "Extra Parameters to add"
description: 'e.g. "o:welcome.enable=false", See more on /etc/loolwsd/loowsd.xml. Separate params with space'
schema:
type: string
default: "-o:welcome.enable=false -o:user_interface.mode=notebookbar -o:ssl.termination=true -o:ssl.enable=false"
- variable: server_name
label: "Server Name"
description: "When this environment variable is set (is not “”), then its value will be used as server name in /etc/loolwsd/loolwsd.xml. Without this, CODE is not delivering a correct host for the websocket connection in case of a proxy in front of it."
schema:
type: string
default: 'collabora\.domain\.tld'
# Ingress
- variable: appIngress
label: ""
group: "Ingress"
schema:
type: dict
attrs:
- variable: webui
label: "Web Ingress Configuration"
group: "Ingress"
schema:
type: dict
attrs:
- variable: enabled
label: "Enable Web Ingress"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: entrypoint
label: "Select Entrypoint"
schema:
type: string
default: "websecure"
required: true
enum:
- value: "websecure"
description: "Websecure: HTTPS/TLS port 443"
- variable: hosts
label: "Hosts"
schema:
type: list
default: []
items:
- variable: host
label: "Host"
schema:
type: dict
attrs:
- variable: host
label: "Domain Name"
required: true
schema:
type: string
- variable: paths
label: "paths"
schema:
type: list
default: []
items:
- variable: path
label: "Path"
schema:
type: dict
attrs:
- variable: path
label: "path"
schema:
type: string
required: true
default: "/"
- variable: pathType
label: "pathType"
schema:
type: string
required: true
default: "prefix"
- variable: certType
label: "Select Certificate Type"
schema:
type: string
default: "letsencrypt-prod"
enum:
- value: ""
description: "No Encryption/TLS/Certificates"
- value: "letsencrypt-prod"
description: "Letsencrypt Production Certificates"
- value: "letsencrypt-staging"
description: "Letsencrypt Test Certificates"
- value: "wildcard"
description: "Global Wildcard Certificate"
- value: "selfsigned"
description: "Self-Signed Certificate"
- value: "existingcert"
description: "Existing Certificate"
show_subquestions_if: "existingcert"
subquestions:
- variable: existingcert
label: "Existing Certificate Name"
schema:
type: string
default: ""
- variable: authForwardURL
label: "Forward Authentication URL"
schema:
type: string
default: ""

View File

@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View File

@ -0,0 +1 @@
{{ include "common.all" . }}

View File

@ -0,0 +1,21 @@
image:
repository: collabora/code
tag: 6.4.6.2
pullPolicy: IfNotPresent
strategy:
type: Recreate
service:
type: NodePort
port:
port: 9980
nodePort: 30980
env:
domain: nextcloud\.domain\.tld
dictionaries: de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru
username: admin
password: changeme
extra_params:
server_name: collabora\.domain\.tld

View File

@ -0,0 +1,19 @@
image:
repository: collabora/code
tag: 6.4.6.2
pullPolicy: IfNotPresent
strategy:
type: Recreate
service:
port:
port: 9980
env:
domain:
dictionaries:
username: admin
password: changeme
extra_params:
server_name:

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,5 @@
categories:
- office
- documents
- productivity
icon_url: https://avatars.githubusercontent.com/u/22418908?s=200&v=4