mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-12-19 22:16:49 +00:00
collabora: allow to use enterprise container image with support key
Signed-off-by: Simon L. <szaimen@e.mail.de>
This commit is contained in:
parent
cbcc5259bd
commit
0a42584238
6 changed files with 48 additions and 1 deletions
15
Containers/collabora-online/Dockerfile
Normal file
15
Containers/collabora-online/Dockerfile
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
# syntax=docker/dockerfile:latest
|
||||||
|
# From https://gitlab.collabora.com/collabora-online/docker
|
||||||
|
# hadolint ignore=DL3007
|
||||||
|
FROM registry.gitlab.collabora.com/collabora-online/docker:latest
|
||||||
|
|
||||||
|
USER root
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
COPY --chmod=775 healthcheck.sh /healthcheck.sh
|
||||||
|
|
||||||
|
USER 1001
|
||||||
|
|
||||||
|
HEALTHCHECK --start-period=60s --retries=9 CMD /healthcheck.sh
|
||||||
|
LABEL com.centurylinklabs.watchtower.enable="false" \
|
||||||
|
org.label-schema.vendor="Nextcloud"
|
||||||
7
Containers/collabora-online/healthcheck.sh
Normal file
7
Containers/collabora-online/healthcheck.sh
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Unfortunately, no curl and no nc is installed in the container
|
||||||
|
# and packages can also not be added as the package list is broken.
|
||||||
|
# So always exiting 0 for now.
|
||||||
|
# nc http://127.0.0.1:9980 || exit 1
|
||||||
|
exit 0
|
||||||
|
|
@ -343,6 +343,21 @@ EOL
|
||||||
# shellcheck disable=SC1083
|
# shellcheck disable=SC1083
|
||||||
find ./ -name '*talk-deployment.yaml' -exec sed -i "/^.*\- env:/r /tmp/additional-talk.config" \{} \;
|
find ./ -name '*talk-deployment.yaml' -exec sed -i "/^.*\- env:/r /tmp/additional-talk.config" \{} \;
|
||||||
|
|
||||||
|
# Additional collabora config
|
||||||
|
# shellcheck disable=SC1083
|
||||||
|
find ./ -name '*collabora-deployment.yaml' -exec sed -i "s/image: ghcr.io.*/IMAGE_PLACEHOLDER/" \{} \;
|
||||||
|
cat << EOL > /tmp/additional-collabora.config
|
||||||
|
{{- if contains "--o:support_key=" (join " " (.Values.ADDITIONAL_COLLABORA_OPTIONS | default list)) }}
|
||||||
|
image: ghcr.io/nextcloud-releases/aio-collabora-online:$DOCKER_TAG
|
||||||
|
{{- else }}
|
||||||
|
image: ghcr.io/nextcloud-releases/aio-collabora:$DOCKER_TAG
|
||||||
|
{{- end }}
|
||||||
|
EOL
|
||||||
|
# shellcheck disable=SC1083
|
||||||
|
find ./ -name '*collabora-deployment.yaml' -exec sed -i "/IMAGE_PLACEHOLDER/r /tmp/additional-collabora.config" \{} \;
|
||||||
|
# shellcheck disable=SC1083
|
||||||
|
find ./ -name '*collabora-deployment.yaml' -exec sed -i "/IMAGE_PLACEHOLDER/d" \{} \;
|
||||||
|
|
||||||
cat << EOL > templates/nextcloud-aio-networkpolicy.yaml
|
cat << EOL > templates/nextcloud-aio-networkpolicy.yaml
|
||||||
{{- if eq .Values.NETWORK_POLICY_ENABLED "yes" }}
|
{{- if eq .Values.NETWORK_POLICY_ENABLED "yes" }}
|
||||||
# https://github.com/ahmetb/kubernetes-network-policy-recipes/blob/master/04-deny-traffic-from-other-namespaces.md
|
# https://github.com/ahmetb/kubernetes-network-policy-recipes/blob/master/04-deny-traffic-from-other-namespaces.md
|
||||||
|
|
|
||||||
|
|
@ -380,7 +380,7 @@
|
||||||
"internal_port": "9980",
|
"internal_port": "9980",
|
||||||
"environment": [
|
"environment": [
|
||||||
"aliasgroup1=https://%NC_DOMAIN%:443,http://nextcloud-aio-apache:23973",
|
"aliasgroup1=https://%NC_DOMAIN%:443,http://nextcloud-aio-apache:23973",
|
||||||
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.level=warning --o:logging.level_startup=warning --o:home_mode.enable=true %COLLABORA_SECCOMP_POLICY% --o:remote_font_config.url=https://%NC_DOMAIN%/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+",
|
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.level=warning --o:logging.level_startup=warning --o:welcome.enable=false %COLLABORA_SECCOMP_POLICY% --o:remote_font_config.url=https://%NC_DOMAIN%/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+",
|
||||||
"dictionaries=%COLLABORA_DICTIONARIES%",
|
"dictionaries=%COLLABORA_DICTIONARIES%",
|
||||||
"TZ=%TIMEZONE%",
|
"TZ=%TIMEZONE%",
|
||||||
"server_name=%NC_DOMAIN%",
|
"server_name=%NC_DOMAIN%",
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,9 @@ readonly class ContainerDefinitionFetcher {
|
||||||
if (!$this->configurationManager->isCollaboraEnabled()) {
|
if (!$this->configurationManager->isCollaboraEnabled()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if ($this->configurationManager->isCollaboraSubscriptionEnabled()) {
|
||||||
|
$entry['image'] = 'ghcr.io/nextcloud-releases/aio-collabora-online';
|
||||||
|
}
|
||||||
} elseif ($entry['container_name'] === 'nextcloud-aio-talk') {
|
} elseif ($entry['container_name'] === 'nextcloud-aio-talk') {
|
||||||
if (!$this->configurationManager->isTalkEnabled()) {
|
if (!$this->configurationManager->isTalkEnabled()) {
|
||||||
continue;
|
continue;
|
||||||
|
|
|
||||||
|
|
@ -978,6 +978,13 @@ class ConfigurationManager
|
||||||
return $config['collabora_additional_options'];
|
return $config['collabora_additional_options'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function isCollaboraSubscriptionEnabled() : bool {
|
||||||
|
if (str_contains($this->GetAdditionalCollaboraOptions(), '--o:support_key=')) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public function DeleteAdditionalCollaboraOptions() : void {
|
public function DeleteAdditionalCollaboraOptions() : void {
|
||||||
$config = $this->GetConfig();
|
$config = $this->GetConfig();
|
||||||
$config['collabora_additional_options'] = '';
|
$config['collabora_additional_options'] = '';
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue