mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-12-20 14:36:52 +00:00
Merge pull request #384 from nextcloud/enh/noid/onlyoffice-talk-collabora
add onlyoffice and allow to disable talk and collabora
This commit is contained in:
commit
f40f4a54b6
15 changed files with 250 additions and 24 deletions
9
.github/dependabot.yml
vendored
9
.github/dependabot.yml
vendored
|
|
@ -117,3 +117,12 @@ updates:
|
||||||
labels:
|
labels:
|
||||||
- 3. to review
|
- 3. to review
|
||||||
- dependencies
|
- dependencies
|
||||||
|
- package-ecosystem: "docker"
|
||||||
|
directory: "/Containers/onlyoffice"
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
||||||
|
time: "12:00"
|
||||||
|
open-pull-requests-limit: 10
|
||||||
|
labels:
|
||||||
|
- 3. to review
|
||||||
|
- dependencies
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,12 @@
|
||||||
reverse_proxy {$COLLABORA_HOST}:9980
|
reverse_proxy {$COLLABORA_HOST}:9980
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Onlyoffice
|
||||||
|
route /onlyoffice/* {
|
||||||
|
uri strip_prefix /onlyoffice
|
||||||
|
reverse_proxy {$ONLYOFFICE_HOST}:80
|
||||||
|
}
|
||||||
|
|
||||||
# Nextcloud
|
# Nextcloud
|
||||||
route {
|
route {
|
||||||
rewrite /.well-known/carddav /remote.php/dav
|
rewrite /.well-known/carddav /remote.php/dav
|
||||||
|
|
|
||||||
|
|
@ -277,32 +277,60 @@ php /var/www/html/occ config:system:set trusted_proxies 0 --value="127.0.0.1"
|
||||||
php /var/www/html/occ config:app:set notify_push base_endpoint --value="https://$NC_DOMAIN/push"
|
php /var/www/html/occ config:app:set notify_push base_endpoint --value="https://$NC_DOMAIN/push"
|
||||||
|
|
||||||
# Collabora
|
# Collabora
|
||||||
if ! [ -d "/var/www/html/custom_apps/richdocuments" ]; then
|
if [ "$COLLABORA_ENABLED" = 'yes' ]; then
|
||||||
php /var/www/html/occ app:install richdocuments
|
if ! [ -d "/var/www/html/custom_apps/richdocuments" ]; then
|
||||||
elif [ "$(php /var/www/html/occ config:app:get richdocuments enabled)" = "no" ]; then
|
php /var/www/html/occ app:install richdocuments
|
||||||
php /var/www/html/occ app:enable richdocuments
|
elif [ "$(php /var/www/html/occ config:app:get richdocuments enabled)" = "no" ]; then
|
||||||
|
php /var/www/html/occ app:enable richdocuments
|
||||||
|
else
|
||||||
|
php /var/www/html/occ app:update richdocuments
|
||||||
|
fi
|
||||||
|
php /var/www/html/occ config:app:set richdocuments wopi_url --value="https://$NC_DOMAIN/"
|
||||||
|
# php /var/www/html/occ richdocuments:activate-config
|
||||||
|
# Fix https://github.com/nextcloud/all-in-one/issues/188:
|
||||||
|
php /var/www/html/occ config:system:set allow_local_remote_servers --type=bool --value=true
|
||||||
else
|
else
|
||||||
php /var/www/html/occ app:update richdocuments
|
if [ -d "/var/www/html/custom_apps/richdocuments" ]; then
|
||||||
|
php /var/www/html/occ app:remove richdocuments
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# OnlyOffice
|
||||||
|
if [ "$ONLYOFFICE_ENABLED" = 'yes' ]; then
|
||||||
|
if ! [ -d "/var/www/html/custom_apps/onlyoffice" ]; then
|
||||||
|
php /var/www/html/occ app:install onlyoffice
|
||||||
|
elif [ "$(php /var/www/html/occ config:app:get onlyoffice enabled)" = "no" ]; then
|
||||||
|
php /var/www/html/occ app:enable onlyoffice
|
||||||
|
else
|
||||||
|
php /var/www/html/occ app:update onlyoffice
|
||||||
|
fi
|
||||||
|
php /var/www/html/occ config:app:set onlyoffice DocumentServerUrl --value="https://$NC_DOMAIN/onlyoffice"
|
||||||
|
else
|
||||||
|
if [ -d "/var/www/html/custom_apps/onlyoffice" ]; then
|
||||||
|
php /var/www/html/occ app:remove onlyoffice
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
php /var/www/html/occ config:app:set richdocuments wopi_url --value="https://$NC_DOMAIN/"
|
|
||||||
# php /var/www/html/occ richdocuments:activate-config
|
|
||||||
# Fix https://github.com/nextcloud/all-in-one/issues/188:
|
|
||||||
php /var/www/html/occ config:system:set allow_local_remote_servers --type=bool --value=true
|
|
||||||
|
|
||||||
# Talk
|
# Talk
|
||||||
if ! [ -d "/var/www/html/custom_apps/spreed" ]; then
|
if [ "$TALK_ENABLED" = 'yes' ]; then
|
||||||
php /var/www/html/occ app:install spreed
|
if ! [ -d "/var/www/html/custom_apps/spreed" ]; then
|
||||||
elif [ "$(php /var/www/html/occ config:app:get spreed enabled)" = "no" ]; then
|
php /var/www/html/occ app:install spreed
|
||||||
php /var/www/html/occ app:enable spreed
|
elif [ "$(php /var/www/html/occ config:app:get spreed enabled)" = "no" ]; then
|
||||||
|
php /var/www/html/occ app:enable spreed
|
||||||
|
else
|
||||||
|
php /var/www/html/occ app:update spreed
|
||||||
|
fi
|
||||||
|
STUN_SERVERS="[\"$NC_DOMAIN:3478\"]"
|
||||||
|
TURN_SERVERS="[{\"server\":\"$NC_DOMAIN:3478\",\"secret\":\"$TURN_SECRET\",\"protocols\":\"udp,tcp\"}]"
|
||||||
|
SIGNALING_SERVERS="{\"servers\":[{\"server\":\"https://$NC_DOMAIN/standalone-signaling/\",\"verify\":true}],\"secret\":\"$SIGNALING_SECRET\"}"
|
||||||
|
php /var/www/html/occ config:app:set spreed stun_servers --value="$STUN_SERVERS" --output json
|
||||||
|
php /var/www/html/occ config:app:set spreed turn_servers --value="$TURN_SERVERS" --output json
|
||||||
|
php /var/www/html/occ config:app:set spreed signaling_servers --value="$SIGNALING_SERVERS" --output json
|
||||||
else
|
else
|
||||||
php /var/www/html/occ app:update spreed
|
if [ -d "/var/www/html/custom_apps/spreed" ]; then
|
||||||
|
php /var/www/html/occ app:remove spreed
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
STUN_SERVERS="[\"$NC_DOMAIN:3478\"]"
|
|
||||||
TURN_SERVERS="[{\"server\":\"$NC_DOMAIN:3478\",\"secret\":\"$TURN_SECRET\",\"protocols\":\"udp,tcp\"}]"
|
|
||||||
SIGNALING_SERVERS="{\"servers\":[{\"server\":\"https://$NC_DOMAIN/standalone-signaling/\",\"verify\":true}],\"secret\":\"$SIGNALING_SECRET\"}"
|
|
||||||
php /var/www/html/occ config:app:set spreed stun_servers --value="$STUN_SERVERS" --output json
|
|
||||||
php /var/www/html/occ config:app:set spreed turn_servers --value="$TURN_SERVERS" --output json
|
|
||||||
php /var/www/html/occ config:app:set spreed signaling_servers --value="$SIGNALING_SERVERS" --output json
|
|
||||||
|
|
||||||
# Clamav
|
# Clamav
|
||||||
if [ "$CLAMAV_ENABLED" = 'yes' ]; then
|
if [ "$CLAMAV_ENABLED" = 'yes' ]; then
|
||||||
|
|
|
||||||
2
Containers/onlyoffice/Dockerfile
Normal file
2
Containers/onlyoffice/Dockerfile
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# From https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/Dockerfile
|
||||||
|
FROM onlyoffice/documentserver:7.0.1.37
|
||||||
|
|
@ -2,10 +2,11 @@
|
||||||
"production": [
|
"production": [
|
||||||
{
|
{
|
||||||
"dependsOn": [
|
"dependsOn": [
|
||||||
"nextcloud-aio-nextcloud",
|
"nextcloud-aio-onlyoffice",
|
||||||
"nextcloud-aio-collabora",
|
"nextcloud-aio-collabora",
|
||||||
|
"nextcloud-aio-clamav",
|
||||||
"nextcloud-aio-talk",
|
"nextcloud-aio-talk",
|
||||||
"nextcloud-aio-clamav"
|
"nextcloud-aio-nextcloud"
|
||||||
],
|
],
|
||||||
"identifier": "nextcloud-aio-apache",
|
"identifier": "nextcloud-aio-apache",
|
||||||
"displayName": "Apache",
|
"displayName": "Apache",
|
||||||
|
|
@ -22,7 +23,8 @@
|
||||||
"NEXTCLOUD_HOST=nextcloud-aio-nextcloud",
|
"NEXTCLOUD_HOST=nextcloud-aio-nextcloud",
|
||||||
"COLLABORA_HOST=nextcloud-aio-collabora",
|
"COLLABORA_HOST=nextcloud-aio-collabora",
|
||||||
"TALK_HOST=nextcloud-aio-talk",
|
"TALK_HOST=nextcloud-aio-talk",
|
||||||
"APACHE_PORT=%APACHE_PORT%"
|
"APACHE_PORT=%APACHE_PORT%",
|
||||||
|
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice"
|
||||||
],
|
],
|
||||||
"volumes": [
|
"volumes": [
|
||||||
{
|
{
|
||||||
|
|
@ -126,7 +128,10 @@
|
||||||
"AIO_URL=%AIO_URL%",
|
"AIO_URL=%AIO_URL%",
|
||||||
"NEXTCLOUD_MOUNT=%NEXTCLOUD_MOUNT%",
|
"NEXTCLOUD_MOUNT=%NEXTCLOUD_MOUNT%",
|
||||||
"CLAMAV_ENABLED=%CLAMAV_ENABLED%",
|
"CLAMAV_ENABLED=%CLAMAV_ENABLED%",
|
||||||
"CLAMAV_HOST=nextcloud-aio-clamav"
|
"CLAMAV_HOST=nextcloud-aio-clamav",
|
||||||
|
"ONLYOFFICE_ENABLED=%ONLYOFFICE_ENABLED%",
|
||||||
|
"COLLABORA_ENABLED=%COLLABORA_ENABLED%",
|
||||||
|
"TALK_ENABLED=%TALK_ENABLED%"
|
||||||
],
|
],
|
||||||
"maxShutdownTime": 10,
|
"maxShutdownTime": 10,
|
||||||
"restartPolicy": "unless-stopped"
|
"restartPolicy": "unless-stopped"
|
||||||
|
|
@ -316,6 +321,27 @@
|
||||||
"secrets": [],
|
"secrets": [],
|
||||||
"maxShutdownTime": 10,
|
"maxShutdownTime": 10,
|
||||||
"restartPolicy": "unless-stopped"
|
"restartPolicy": "unless-stopped"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dependsOn": [],
|
||||||
|
"identifier": "nextcloud-aio-onlyoffice",
|
||||||
|
"displayName": "OnlyOffice",
|
||||||
|
"containerName": "nextcloud/aio-onlyoffice",
|
||||||
|
"ports": [],
|
||||||
|
"internalPorts": [
|
||||||
|
"80"
|
||||||
|
],
|
||||||
|
"environmentVariables": [],
|
||||||
|
"volumes": [
|
||||||
|
{
|
||||||
|
"name": "nextcloud_aio_onlyoffice",
|
||||||
|
"location": "/var/lib/onlyoffice",
|
||||||
|
"writeable": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"secrets": [],
|
||||||
|
"maxShutdownTime": 10,
|
||||||
|
"restartPolicy": "unless-stopped"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
5
php/public/disable-collabora.js
Normal file
5
php/public/disable-collabora.js
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
document.addEventListener("DOMContentLoaded", function(event) {
|
||||||
|
// Collabora
|
||||||
|
var collabora = document.getElementById("collabora");
|
||||||
|
collabora.disabled = true;
|
||||||
|
});
|
||||||
5
php/public/disable-onlyoffice.js
Normal file
5
php/public/disable-onlyoffice.js
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
document.addEventListener("DOMContentLoaded", function(event) {
|
||||||
|
// OnlyOffice
|
||||||
|
var onlyoffice = document.getElementById("onlyoffice");
|
||||||
|
onlyoffice.disabled = true;
|
||||||
|
});
|
||||||
5
php/public/disable-talk.js
Normal file
5
php/public/disable-talk.js
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
document.addEventListener("DOMContentLoaded", function(event) {
|
||||||
|
// Talk
|
||||||
|
var talk = document.getElementById("talk");
|
||||||
|
talk.disabled = true;
|
||||||
|
});
|
||||||
|
|
@ -87,6 +87,9 @@ $app->get('/containers', function ($request, $response, $args) use ($container)
|
||||||
'current_channel' => $dockerActionManger->GetCurrentChannel(),
|
'current_channel' => $dockerActionManger->GetCurrentChannel(),
|
||||||
'is_x64_platform' => $configurationManager->isx64Platform(),
|
'is_x64_platform' => $configurationManager->isx64Platform(),
|
||||||
'is_clamav_enabled' => $configurationManager->isClamavEnabled(),
|
'is_clamav_enabled' => $configurationManager->isClamavEnabled(),
|
||||||
|
'is_onlyoffice_enabled' => $configurationManager->isOnlyofficeEnabled(),
|
||||||
|
'is_collabora_enabled' => $configurationManager->isCollaboraEnabled(),
|
||||||
|
'is_talk_enabled' => $configurationManager->isTalkEnabled(),
|
||||||
]);
|
]);
|
||||||
})->setName('profile');
|
})->setName('profile');
|
||||||
$app->get('/login', function ($request, $response, $args) use ($container) {
|
$app->get('/login', function ($request, $response, $args) use ($container) {
|
||||||
|
|
|
||||||
|
|
@ -11,4 +11,16 @@ document.addEventListener("DOMContentLoaded", function(event) {
|
||||||
// Clamav
|
// Clamav
|
||||||
var clamav = document.getElementById("clamav");
|
var clamav = document.getElementById("clamav");
|
||||||
clamav.addEventListener('change', makeOptionsFormSubmitVisible);
|
clamav.addEventListener('change', makeOptionsFormSubmitVisible);
|
||||||
|
|
||||||
|
// OnlyOffice
|
||||||
|
var onlyoffice = document.getElementById("onlyoffice");
|
||||||
|
onlyoffice.addEventListener('change', makeOptionsFormSubmitVisible);
|
||||||
|
|
||||||
|
// Collabora
|
||||||
|
var collabora = document.getElementById("collabora");
|
||||||
|
collabora.addEventListener('change', makeOptionsFormSubmitVisible);
|
||||||
|
|
||||||
|
// Talk
|
||||||
|
var talk = document.getElementById("talk");
|
||||||
|
talk.addEventListener('change', makeOptionsFormSubmitVisible);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,18 @@ class ContainerDefinitionFetcher
|
||||||
if (!$this->configurationManager->isClamavEnabled()) {
|
if (!$this->configurationManager->isClamavEnabled()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
} elseif ($entry['identifier'] === 'nextcloud-aio-onlyoffice') {
|
||||||
|
if (!$this->configurationManager->isOnlyofficeEnabled()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} elseif ($entry['identifier'] === 'nextcloud-aio-collabora') {
|
||||||
|
if (!$this->configurationManager->isCollaboraEnabled()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} elseif ($entry['identifier'] === 'nextcloud-aio-talk') {
|
||||||
|
if (!$this->configurationManager->isTalkEnabled()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$ports = new ContainerPorts();
|
$ports = new ContainerPorts();
|
||||||
|
|
@ -111,6 +123,18 @@ class ContainerDefinitionFetcher
|
||||||
if (!$this->configurationManager->isClamavEnabled()) {
|
if (!$this->configurationManager->isClamavEnabled()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
} elseif ($value === 'nextcloud-aio-onlyoffice') {
|
||||||
|
if (!$this->configurationManager->isOnlyofficeEnabled()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} elseif ($value === 'nextcloud-aio-collabora') {
|
||||||
|
if (!$this->configurationManager->isCollaboraEnabled()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} elseif ($value === 'nextcloud-aio-talk') {
|
||||||
|
if (!$this->configurationManager->isTalkEnabled()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$dependsOn[] = $value;
|
$dependsOn[] = $value;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,11 +36,29 @@ class ConfigurationController
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($request->getParsedBody()['options-form'])) {
|
if (isset($request->getParsedBody()['options-form'])) {
|
||||||
|
if (isset($request->getParsedBody()['collabora']) && isset($request->getParsedBody()['onlyoffice'])) {
|
||||||
|
throw new InvalidSettingConfigurationException("Collabora and Onlyoffice are not allowed to be enabled at the same time!");
|
||||||
|
}
|
||||||
if (isset($request->getParsedBody()['clamav'])) {
|
if (isset($request->getParsedBody()['clamav'])) {
|
||||||
$this->configurationManager->SetClamavEnabledState(1);
|
$this->configurationManager->SetClamavEnabledState(1);
|
||||||
} else {
|
} else {
|
||||||
$this->configurationManager->SetClamavEnabledState(0);
|
$this->configurationManager->SetClamavEnabledState(0);
|
||||||
}
|
}
|
||||||
|
if (isset($request->getParsedBody()['onlyoffice'])) {
|
||||||
|
$this->configurationManager->SetOnlyofficeEnabledState(1);
|
||||||
|
} else {
|
||||||
|
$this->configurationManager->SetOnlyofficeEnabledState(0);
|
||||||
|
}
|
||||||
|
if (isset($request->getParsedBody()['collabora'])) {
|
||||||
|
$this->configurationManager->SetCollaboraEnabledState(1);
|
||||||
|
} else {
|
||||||
|
$this->configurationManager->SetCollaboraEnabledState(0);
|
||||||
|
}
|
||||||
|
if (isset($request->getParsedBody()['talk'])) {
|
||||||
|
$this->configurationManager->SetTalkEnabledState(1);
|
||||||
|
} else {
|
||||||
|
$this->configurationManager->SetTalkEnabledState(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $response->withStatus(201)->withHeader('Location', '/');
|
return $response->withStatus(201)->withHeader('Location', '/');
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,51 @@ class ConfigurationManager
|
||||||
$this->WriteConfig($config);
|
$this->WriteConfig($config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function isOnlyofficeEnabled() : bool {
|
||||||
|
$config = $this->GetConfig();
|
||||||
|
if (isset($config['isOnlyofficeEnabled']) && $config['isOnlyofficeEnabled'] === 1) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function SetOnlyofficeEnabledState(int $value) : void {
|
||||||
|
$config = $this->GetConfig();
|
||||||
|
$config['isOnlyofficeEnabled'] = $value;
|
||||||
|
$this->WriteConfig($config);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isCollaboraEnabled() : bool {
|
||||||
|
$config = $this->GetConfig();
|
||||||
|
if (isset($config['isCollaboraEnabled']) && $config['isCollaboraEnabled'] === 0) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function SetCollaboraEnabledState(int $value) : void {
|
||||||
|
$config = $this->GetConfig();
|
||||||
|
$config['isCollaboraEnabled'] = $value;
|
||||||
|
$this->WriteConfig($config);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isTalkEnabled() : bool {
|
||||||
|
$config = $this->GetConfig();
|
||||||
|
if (isset($config['isTalkEnabled']) && $config['isTalkEnabled'] === 0) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function SetTalkEnabledState(int $value) : void {
|
||||||
|
$config = $this->GetConfig();
|
||||||
|
$config['isTalkEnabled'] = $value;
|
||||||
|
$this->WriteConfig($config);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws InvalidSettingConfigurationException
|
* @throws InvalidSettingConfigurationException
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -247,6 +247,24 @@ class DockerActionManager
|
||||||
} else {
|
} else {
|
||||||
$replacements[1] = '';
|
$replacements[1] = '';
|
||||||
}
|
}
|
||||||
|
} elseif ($out[1] === 'ONLYOFFICE_ENABLED') {
|
||||||
|
if ($this->configurationManager->isOnlyofficeEnabled()) {
|
||||||
|
$replacements[1] = 'yes';
|
||||||
|
} else {
|
||||||
|
$replacements[1] = '';
|
||||||
|
}
|
||||||
|
} elseif ($out[1] === 'COLLABORA_ENABLED') {
|
||||||
|
if ($this->configurationManager->isCollaboraEnabled()) {
|
||||||
|
$replacements[1] = 'yes';
|
||||||
|
} else {
|
||||||
|
$replacements[1] = '';
|
||||||
|
}
|
||||||
|
} elseif ($out[1] === 'TALK_ENABLED') {
|
||||||
|
if ($this->configurationManager->isTalkEnabled()) {
|
||||||
|
$replacements[1] = 'yes';
|
||||||
|
} else {
|
||||||
|
$replacements[1] = '';
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$replacements[1] = $this->configurationManager->GetSecret($out[1]);
|
$replacements[1] = $this->configurationManager->GetSecret($out[1]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -299,10 +299,30 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
<input type="checkbox" id="clamav" name="clamav"><label for="clamav">ClamAV (only supported on x64, needs ~2GB additional RAM)</label>
|
<input type="checkbox" id="clamav" name="clamav"><label for="clamav">ClamAV (only supported on x64, needs ~2GB additional RAM)</label>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if is_collabora_enabled == true %}
|
||||||
|
<input type="checkbox" id="collabora" name="collabora" checked="checked"><label for="collabora">Collabora</label>
|
||||||
|
{% else %}
|
||||||
|
<input type="checkbox" id="collabora" name="collabora"><label for="collabora">Collabora</label>
|
||||||
|
{% endif %}
|
||||||
|
{% if is_onlyoffice_enabled == true %}
|
||||||
|
<input type="checkbox" id="onlyoffice" name="onlyoffice" checked="checked"><label for="onlyoffice">OnlyOffice (only supported on x64)</label>
|
||||||
|
{% else %}
|
||||||
|
<input type="checkbox" id="onlyoffice" name="onlyoffice"><label for="onlyoffice">OnlyOffice (only supported on x64)</label>
|
||||||
|
{% endif %}
|
||||||
|
{% if is_talk_enabled == true %}
|
||||||
|
<input type="checkbox" id="talk" name="talk" checked="checked"><label for="talk">Nextcloud Talk (needs ports 3478/TCP and 3478/UDP open)</label>
|
||||||
|
{% else %}
|
||||||
|
<input type="checkbox" id="talk" name="talk"><label for="talk">Nextcloud Talk (needs ports 3478/TCP and 3478/UDP open)</label>
|
||||||
|
{% endif %}
|
||||||
<input id="options-form-submit" class="button" type="submit" value="Save changes" />
|
<input id="options-form-submit" class="button" type="submit" value="Save changes" />
|
||||||
</form>
|
</form>
|
||||||
{% if isAnyRunning == true or is_x64_platform == false %}
|
{% if isAnyRunning == true or is_x64_platform == false %}
|
||||||
<script type="text/javascript" src="disable-clamav.js"></script>
|
<script type="text/javascript" src="disable-clamav.js"></script>
|
||||||
|
<script type="text/javascript" src="disable-onlyoffice.js"></script>
|
||||||
|
{% endif %}
|
||||||
|
{% if isAnyRunning == true %}
|
||||||
|
<script type="text/javascript" src="disable-talk.js"></script>
|
||||||
|
<script type="text/javascript" src="disable-collabora.js"></script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue