Page MenuHomePhorge

No OneTemporary

Authored By
Unknown
Size
24 KB
Referenced Files
None
Subscribers
None
diff --git a/docker/roundcube/rootfs/opt/app-root/src/checkconnections.sh b/docker/roundcube/rootfs/opt/app-root/src/checkconnections.sh
new file mode 100755
index 00000000..e022c2b5
--- /dev/null
+++ b/docker/roundcube/rootfs/opt/app-root/src/checkconnections.sh
@@ -0,0 +1,101 @@
+#!/bin/bash
+
+set -e
+set -x
+
+#Check all connections that roundcube requires. Should probably be a php script.
+#* imap
+#* chwala
+#
+# External access
+# file_api_url
+# kolab_files_url
+# kolab_addressbook_carddav_url
+# calendar_caldav_url
+IMAP_HOST=$(./getconfig.php default_host)
+IMAP_PORT=$(./getconfig.php default_port)
+echo "IMAP : $IMAP_HOST:$IMAP_PORT"
+echo "a01 LOGOUT" | telnet $IMAP_HOST $IMAP_PORT | grep "Connected to imap"
+echo "IMAP is OK"
+
+#TODO smtp
+
+#FIXME in newer mariadb-shell variants there is --dsn, but in older mysql client version there doesn't seem to be something like it
+# MYSQL_DSN=$(./getconfig.php db_dsnw)
+# echo "Mysql : $IMAP_HOST:$IMAP_PORT"
+# mysql --batch 'describe table foobar?'
+# echo "IMAP is OK"
+
+URL=$(./getconfig.php fileapi_wopi_office)
+echo "WOPI office: $URL"
+curl -sD /dev/stderr "$URL/hosting/discovery" -k | grep "<wopi-discovery>"
+echo "WOPI office is OK"
+
+URL=$(./getconfig.php kolab_files_server_url)
+if [[ $URL == "" ]]; then
+ URL=$(./getconfig.php kolab_files_url)
+fi
+echo "Chwala url: $URL"
+curl -sD /dev/stderr "$URL/api/" -k | grep "Invalid session"
+echo "Chwala is OK"
+
+if [[ "$(./getconfig.php fileapi_backend)" == "kolabfiles" ]]; then
+ URL=$(./getconfig.php fileapi_kolabfiles_baseuri)
+ echo "Kolabfiles $URL"
+ # We just try to connect to the api on an path that doesn't require authentication
+ curl -sD /dev/stderr "$URL/login" | grep "Not found"
+ echo "Kolabfiles API is OK"
+fi
+
+
+if [[ "$(./getconfig.php kolab_addressbook_driver)" == "carddav" ]]; then
+ # $config['kolab_addressbook_carddav_server'] = "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
+ URL=$(./getconfig.php kolab_addressbook_carddav_server)
+ echo "Carddav $URL"
+ curl -sD /dev/stderr -H "Content-Type: application/xml" -X PROPFIND -H "Depth: infinity" --data '<d:propfind xmlns:d="DAV:" xmlns:cs="https://calendarserver.org/ns/"><d:prop><d:resourcetype /><d:displayname /></d:prop></d:propfind>' $URL -k | grep "405 Method Not Allowed"
+ echo "Carddav is OK"
+
+ #FIXME this is for external access, so we can't test this here
+ #FIXME username/host/addressbook substitution
+ # $config['kolab_addressbook_carddav_url'] = 'http://%h/dav/addressbooks/%u/%i';
+ # URL=$(./getconfig.php kolab_addressbook_carddav_url)
+ # echo "Carddav $URL"
+ # curl -sD /dev/stderr -H "Content-Type: application/xml" -X PROPFIND -H "Depth: infinity" --data '<d:propfind xmlns:d="DAV:" xmlns:cs="https://calendarserver.org/ns/"><d:prop><d:resourcetype /><d:displayname /></d:prop></d:propfind>' $URL -k
+ # echo "Carddav is OK"
+fi
+
+
+if [[ "$(./getconfig.php calendar_driver)" == "caldav" ]]; then
+ #$config['calendar_caldav_server'] = "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
+ URL=$(./getconfig.php calendar_caldav_server)
+ echo "Caldav $URL"
+ curl -sD /dev/stderr -H "Content-Type: application/xml" -X PROPFIND -H "Depth: infinity" --data '<d:propfind xmlns:d="DAV:" xmlns:cs="https://calendarserver.org/ns/"><d:prop><d:resourcetype /><d:displayname /></d:prop></d:propfind>' $URL -k | grep "405 Method Not Allowed"
+ echo "Caldav is OK"
+
+ #FIXME this is for external access, so we can't test this here
+ #$config['calendar_caldav_url'] = 'http://%h/dav/calendars/%u/%i';
+fi
+
+
+if [[ "$(./getconfig.php tasklist_driver)" == "caldav" ]]; then
+ #$config['calendar_caldav_server'] = "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
+ URL=$(./getconfig.php tasklist_caldav_server)
+ echo "Tasklist caldav $URL"
+ curl -sD /dev/stderr -H "Content-Type: application/xml" -X PROPFIND -H "Depth: infinity" --data '<d:propfind xmlns:d="DAV:" xmlns:cs="https://calendarserver.org/ns/"><d:prop><d:resourcetype /><d:displayname /></d:prop></d:propfind>' $URL -k | grep "405 Method Not Allowed"
+ echo "Tasklist caldav is OK"
+fi
+
+
+if [[ "$(./getconfig.php calendar_driver)" == "caldav" ]]; then
+ #$config['calendar_caldav_server'] = "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
+ URL=$(./getconfig.php calendar_caldav_server)
+ echo "Caldav $URL"
+ curl -sD /dev/stderr -H "Content-Type: application/xml" -X PROPFIND -H "Depth: infinity" --data '<d:propfind xmlns:d="DAV:" xmlns:cs="https://calendarserver.org/ns/"><d:prop><d:resourcetype /><d:displayname /></d:prop></d:propfind>' $URL -k | grep "405 Method Not Allowed"
+ echo "Caldav is OK"
+
+ #FIXME this is for external access, so we can't test this here
+ #$config['calendar_caldav_url'] = 'http://%h/dav/calendars/%u/%i';
+fi
+
+
+echo "All checks complete"
diff --git a/docker/roundcube/rootfs/opt/app-root/src/getconfig.php b/docker/roundcube/rootfs/opt/app-root/src/getconfig.php
new file mode 100755
index 00000000..9f2e38c3
--- /dev/null
+++ b/docker/roundcube/rootfs/opt/app-root/src/getconfig.php
@@ -0,0 +1,17 @@
+#!/usr/bin/php
+<?php
+
+const RCUBE_VERSION=1;
+const RCUBE_CONFIG_DIR='roundcubemail/config/';
+$_SERVER['HTTP_HOST'] = getenv('APP_DOMAIN');
+
+@include('roundcubemail/config/config.inc.php');
+@include('roundcubemail/config/calendar.inc.php');
+@include('roundcubemail/config/tasklist.inc.php');
+@include('roundcubemail/config/kolab_files.inc.php');
+@include('roundcubemail/config/kolab_addressbook.inc.php');
+@include('roundcubemail/config/chwala.inc.php');
+
+print($config[$argv[1]]);
+
+?>
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/calendar.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/calendar.inc.php
index 46f3f515..89378de6 100644
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/calendar.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/calendar.inc.php
@@ -1,30 +1,32 @@
<?php
$config['calendar_driver'] = "caldav";
$config['calendar_default_view'] = "agendaWeek";
$config['calendar_timeslots'] = 2;
$config['calendar_first_day'] = 1;
$config['calendar_first_hour'] = 6;
$config['calendar_work_start'] = 6;
$config['calendar_work_end'] = 18;
$config['calendar_event_coloring'] = 0;
- $config['calendar_caldav_url'] = 'http://%h/dav/calendars/%u/%i';
- $config['calendar_caldav_server'] = "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
+ # This is for external access
+ $config['calendar_caldav_url'] = 'https://%h/dav/calendars/%u/%i';
+ # This is for internal access
+ $config['calendar_caldav_server'] = getenv('CALENDAR_CALDAV_SERVER') ?? "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
$config['calendar_itip_smtp_server'] = '';
$config['calendar_itip_smtp_user'] = '';
$config['calendar_itip_smtp_pass'] = '';
$config['calendar_itip_send_option'] = 3;
$config['calendar_itip_after_action'] = 0;
$config['calendar_freebusy_trigger'] = false;
$config['kolab_invitation_calendars'] = true;
$config['calendar_contact_birthdays'] = true;
if (file_exists(RCUBE_CONFIG_DIR . '/' . ($_SERVER["HTTP_HOST"] ?? null) . '/' . basename(__FILE__))) {
include_once(RCUBE_CONFIG_DIR . '/' . ($_SERVER["HTTP_HOST"] ?? null) . '/' . basename(__FILE__));
}
?>
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/chwala.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/chwala.inc.php
index cc00f99a..75fd37d7 100644
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/chwala.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/chwala.inc.php
@@ -1,157 +1,160 @@
<?php
// This file contains Chwala configuration options.
// Real config file must contain or include Roundcube Framework config.
// ------------------------------------------------
// Global settings
// ------------------------------------------------
// Main files source, backend driver which handles
// authentication and configuration of Chwala
// Note: Currently only 'kolab' is supported
$config['fileapi_backend'] = 'kolabfiles';
+// This is how chwala connects to the kolabfiles backend
+$config['fileapi_kolabfiles_baseuri'] = getenv('FILEAPI_KOLABFILES_BASEURI');
+
// Enabled external storage drivers
// Note: Currenty only 'seafile' and webdav is available
// $config['fileapi_drivers'] = array('seafile', 'webdav');
// $config['fileapi_drivers'] = array('webdav');
// Disable the kolab-auth plugin
$config['fileapi_plugins'] = ['kolab_folders'];
// Pre-defined list of external storage sources.
// Here admins can define sources which will be "mounted" into users folder tree
/*
$config['fileapi_sources'] = array(
'Seafile' => array(
'driver' => 'seafile',
'host' => 'seacloud.cc',
// when username is set to '%u' current user name and password
// will be used to authenticate to this storage source
'username' => '%u',
),
'Public-Files' => array(
'driver' => 'webdav',
'baseuri' => 'https://some.host.tld/Files',
'username' => 'admin',
'password' => 'pass',
),
);
*/
// $config['fileapi_sources'] = array(
// 'Public-Files' => array(
// 'driver' => 'webdav',
// 'baseuri' => 'https://kolab.local/dav/drive/user/admin@kolab.local/',
// 'username' => '%u',
// 'password' => 'simple123',
// ),
// );
// Default values for sources configuration dialog.
// Note: use driver names as the array keys.
// Note: %u variable will be resolved to the current username.
/*
$config['fileapi_presets'] = array(
'seafile' => array(
'host' => 'seacloud.cc',
'username' => '%u',
),
'webdav' => array(
'baseuri' => 'https://some.host.tld/Files',
'username' => '%u',
),
);
*/
// Disables listing folders from the backend storage.
// This is useful when you configured an external source(s) and
// you want to use it exclusively, ignoring Kolab folders.
$config['fileapi_backend_storage_disabled'] = false;
// Manticore service URL. Enables use of WebODF collaborative editor.
// Note: this URL should be accessible from Chwala host and Roundcube host as well.
$config['fileapi_manticore'] = null;
// WOPI/Office service URL. Enables use of collaborative editor supporting WOPI.
// Note: this URL should be accessible from Chwala host and Roundcube host as well.
$config['fileapi_wopi_office'] = getenv('FILEAPI_WOPI_OFFICE');
// Name of the user interface skin.
$config['file_api_skin'] = 'default';
// Chwala UI communicates with Chwala API via HTTP protocol
// The URL here is a location of Chwala API service. By default
// the UI location is used with addition of /api/ suffix.
# Force https if we're behind a proxy. Browsers don't allow mixed content.
$config['file_api_url'] = 'https://' . ($_SERVER['HTTP_HOST'] ?? null) . '/chwala/api/';
// Type of Chwala cache. Supported values: 'db', 'apc' and 'memcache'.
// Note: This is only for some additional data like WOPI capabilities.
$config['fileapi_cache'] = 'db';
// lifetime of Chwala cache
// possible units: s, m, h, d, w
$config['fileapi_cache_ttl'] = '1d';
// LDAP addressbook that would be searched for user names autocomplete.
// That should be an array refering to the Roundcube's $config['ldap_public']
// array key or complete addressbook configuration array.
// FIXME: replace with non ldap solution
// $config['fileapi_users_source'] = 'kolab_addressbook';
// The LDAP attribute which will be used as ACL user identifier
// $config['fileapi_users_field'] = 'mail';
// The LDAP search filter will be combined with search queries
// $config['fileapi_users_filter'] = '';
// Include groups in searching
// $config['fileapi_groups'] = false;
// Prefix added to the group name to build IMAP ACL identifier
// $config['fileapi_group_prefix'] = 'group:';
// The LDAP attribute (or field name) which will be used as ACL group identifier
// $config['fileapi_group_field'] = 'name';
// ------------------------------------------------
// SeaFile driver settings
// ------------------------------------------------
// Enables SeaFile Web API conversation log
$config['fileapi_seafile_debug'] = false;
// Enables caching of some SeaFile information e.g. folders list
// Note: 'db', 'apc' and 'memcache' are supported
$config['fileapi_seafile_cache'] = 'db';
// Expiration time of SeaFile cache entries
$config['fileapi_seafile_cache_ttl'] = '7d';
// Default SeaFile Web API host
// Note: http:// and https:// (default) prefixes can be used here
$config['fileapi_seafile_host'] = 'localhost';
// Enables SSL certificates validation when connecting
// with any SeaFile server
$config['fileapi_seafile_ssl_verify_host'] = false;
$config['fileapi_seafile_ssl_verify_peer'] = false;
// To support various Seafile configurations when fetching a file
// from Seafile server we proxy it via Chwala server.
// Enable this option to allow direct downloading of files
// from Seafile server to user browser.
$config['fileapi_seafile_allow_redirects'] = false;
// ------------------------------------------------
// WebDAV driver settings
// ------------------------------------------------
// Default URI location for WebDAV storage
$config['fileapi_webdav_baseuri'] = 'https://imap/dav';
?>
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/config.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/config.inc.php
index 3d43a351..59217b70 100644
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/config.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/config.inc.php
@@ -1,197 +1,198 @@
<?php
function getenvlist($name) {
$value = getenv($name);
return $value == null ? null : explode(",", $value) ;
}
$config = array();
$dbUsername = getenv('DB_RC_USERNAME');
$dbPass = getenv('DB_RC_PASSWORD');
$dbDatabase = getenv('DB_RC_DATABASE');
$dbHost = getenv('DB_HOST');
$config['db_dsnw'] = "mysql://$dbUsername:$dbPass@$dbHost/$dbDatabase";
$config['session_domain'] = '';
+ # A new key is generated during the init phase, overwriting this key.
$config['des_key'] = "wgtmEUSH9KOZC9rK8Qa5A6r4";
- $config['username_domain'] = 'kolab.org';
+ $config['username_domain'] = getenv('APP_DOMAIN');
$config['use_secure_urls'] = true;
$config['mail_domain'] = '';
// IMAP Server Settings
$config['default_host'] = getenv('IMAP_HOST');
$config['default_port'] = getenv('IMAP_PORT');
$config['imap_delimiter'] = '/';
$config['imap_force_lsub'] = true;
// if (str_contains(getenv('IMAP_URI'), 'tls') || str_contains(getenv('IMAP_URI'), 'ssl')) {
// $config['imap_conn_options'] = [
// 'ssl' => [
// 'verify_peer_name' => false,
// 'verify_peer' => false,
// 'allow_self_signed' => true
// ],
// 'proxy_protocol' => getenv('IMAP_PROXY_PROTOCOL')
// ];
// }
$config['proxy_whitelist'] = getenvlist('PROXY_WHITELIST');
// Caching and storage settings
$config['imap_cache'] = 'db';
$config['imap_cache_ttl'] = '10d';
$config['messages_cache'] = 'db';
$config['message_cache_ttl'] = '10d';
$config['session_storage'] = 'db';
// SMTP Server Settings
$config['smtp_server'] = getenv('MAIL_HOST');
$config['smtp_port'] = getenv('MAIL_PORT');
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
$config['smtp_helo_host'] = $_SERVER["HTTP_HOST"] ?? null;
// $config['smtp_conn_options'] = Array(
// 'ssl' => Array(
// 'verify_peer_name' => false,
// 'verify_peer' => false,
// 'allow_self_signed' => true
// )
// );
// Kolab specific defaults
$config['product_name'] = 'Kolab Groupware';
$config['quota_zero_as_unlimited'] = false;
$config['login_lc'] = 2;
$config['auto_create_user'] = true;
$config['enable_installer'] = false;
// The SMTP server does not allow empty identities
$config['mdn_use_from'] = true;
// Plugins
$config['plugins'] = array(
// 'kolab_auth',
'acl',
'archive',
'calendar',
'jqueryui',
'kolab_activesync',
'kolab_addressbook',
// 'kolab_config',
//'kolab_delegation',
'kolab_files',
'kolab_folders',
// 'kolab_notes',
// 'kolab_tags',
'managesieve',
'newmail_notifier',
'odfviewer',
'redundant_attachments',
'tasklist',
// contextmenu must be after kolab_addressbook (#444)
'contextmenu',
'enigma',
);
// Do not show deleted messages, mark deleted messages as read,
// and flag them as deleted instead of moving them to the Trash
// folder.
$config['skip_deleted'] = true;
$config['read_when_deleted'] = true;
$config['flag_for_deletion'] = true;
$config['delete_always'] = true;
$config['session_lifetime'] = 180;
$config['password_charset'] = 'UTF-8';
$config['useragent'] = 'Kolab 16/Roundcube ' . RCUBE_VERSION;
$config['message_sort_col'] = 'date';
$config['spellcheck_engine'] = 'pspell';
$config['spellcheck_dictionary'] = true;
$config['spellcheck_ignore_caps'] = true;
$config['spellcheck_ignore_nums'] = true;
$config['spellcheck_ignore_syms'] = true;
$config['spellcheck_languages'] = array(
'da' => 'Dansk',
'de' => 'Deutsch',
'en' => 'English',
'es' => 'Español',
'fr' => 'Français',
'it' => 'Italiano',
'nl' => 'Nederlands',
'pt' => 'Português',
'ru' => 'Русский',
'sv' => 'Svenska'
);
$config['undo_timeout'] = 10;
$config['upload_progress'] = 2;
$config['address_template'] = '{street}<br/>{locality} {zipcode}<br/>{country} {region}';
$config['preview_pane'] = true;
$config['preview_pane_mark_read'] = 0;
$config['autoexpand_threads'] = 2;
$config['top_posting'] = 0;
$config['sig_above'] = false;
$config['mdn_requests'] = 0;
$config['mdn_default'] = false;
$config['dsn_default'] = false;
$config['reply_same_folder'] = false;
if (file_exists(RCUBE_CONFIG_DIR . '/' . ($_SERVER["HTTP_HOST"] ?? null) . '/' . basename(__FILE__))) {
include_once(RCUBE_CONFIG_DIR . '/' . ($_SERVER["HTTP_HOST"] ?? null) . '/' . basename(__FILE__));
}
// Re-apply mandatory settings here.
$config['debug_level'] = 1;
$config['devel_mode'] = false;
$config['log_driver'] = 'stdout';
$config['per_user_logging'] = true;
$config['log_date_format'] = 'd-M-Y H:i:s,u O';
$config['syslog_id'] = 'roundcube';
$config['syslog_facility'] = LOG_USER;
$config['smtp_log'] = false;
$config['log_logins'] = true;
$config['log_session'] = false;
$config['sql_debug'] = false;
$config['memcache_debug'] = false;
$config['imap_debug'] = true;
$config['smtp_debug'] = false;
$config['skin'] = 'kolab';
$config['skin_include_php'] = false;
$config['mime_magic'] = null;
$config['im_identify_path'] = '/usr/bin/identify';
$config['im_convert_path'] = '/usr/bin/convert';
$config['log_dir'] = 'logs/';
#$config['temp_dir'] = '/var/lib/roundcubemail/';
// Some additional default folders (archive plugin)
$config['archive_mbox'] = 'Archive';
// The Kolab daemon by default creates 'Spam'
$config['junk_mbox'] = 'Spam';
$config['default_folders'] = array('INBOX', 'Drafts', 'Sent', 'Spam', 'Trash', 'Archive');
// $config['address_book_type'] = 'ldap';
$config['autocomplete_min_length'] = 3;
$config['autocomplete_threads'] = 0;
$config['autocomplete_max'] = 15;
// Disable the default addressbook and use the dav addressbook by default
$config['address_book_type'] = '';
$config['autocomplete_single'] = true;
$config['htmleditor'] = 0;
$config['kolab_http_request'] = Array(
'ssl_verify_host' => false,
'ssl_verify_peer' => false,
);
@include('kolab_syncroton.inc.php');
@include('chwala.inc.php');
?>
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_addressbook.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_addressbook.inc.php
index 61750f3c..753bf3fd 100644
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_addressbook.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_addressbook.inc.php
@@ -1,23 +1,25 @@
<?php
// This option allows to set addressbooks priority or to disable some
// of them. Disabled addressbooks will be not shown in the UI. Default: 0.
// 0 - "Global address book(s) first". Use all address books, starting with the global (LDAP)
// 1 - "Personal address book(s) first". Use all address books, starting with the personal (Kolab)
// 2 - "Global address book(s) only". Use the global (LDAP) addressbook. Disable the personal.
// 3 - "Personal address book(s) only". Use the personal (Kolab) addressbook(s). Disable the global.
$config['kolab_addressbook_prio'] = 0;
// Base URL to build fully qualified URIs to access address books via CardDAV
// The following replacement variables are supported:
// %h - Current HTTP host
// %u - Current webmail user name
// %n - Folder name
// %i - Folder UUID
+# This is for external access
$config['kolab_addressbook_carddav_url'] = 'http://%h/dav/addressbooks/%u/%i';
-$config['kolab_addressbook_carddav_server'] = "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
+# This is for internal access
+$config['kolab_addressbook_carddav_server'] = getenv('KOLAB_ADDRESSBOOK_CARDDAV_SERVER') ?? "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
$config['kolab_addressbook_driver'] = 'carddav';
?>
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_files.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_files.inc.php
index 601da18f..9db3d19d 100644
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_files.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/kolab_files.inc.php
@@ -1,20 +1,20 @@
<?php
-// URL of kolab-chwala installation
-$config['kolab_files_url'] = 'https://' . ($_SERVER["HTTP_HOST"] ?? null) . '/chwala/';
+// URL of kolab-chwala installation for public access
+$config['kolab_files_url'] = getenv('KOLAB_FILES_URL') ?? 'https://' . ($_SERVER["HTTP_HOST"] ?? null) . '/chwala/';
// This is how the plugin does chwala api requests on the server
-$config['kolab_files_server_url'] = '';
+$config['kolab_files_server_url'] = getenv('KOLAB_FILES_SERVER_URL');
// List of files list columns. Available are: name, size, mtime, type
$config['kolab_files_list_cols'] = array('name', 'mtime', 'size');
// Name of the column to sort files list by
$config['kolab_files_sort_col'] = 'name';
// Order of the files list sort
$config['kolab_files_sort_order'] = 'asc';
// Number of concurent requests for searching and collections listing. Default: 1
$config['kolab_files_search_threads'] = 1;
?>
diff --git a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/tasklist.inc.php b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/tasklist.inc.php
index 0db96e2e..49d20448 100644
--- a/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/tasklist.inc.php
+++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/tasklist.inc.php
@@ -1,11 +1,11 @@
<?php
$config['tasklist_driver'] = 'caldav';
-$config['tasklist_caldav_server'] = "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
+$config['tasklist_caldav_server'] = getenv('TASKLIST_CALDAV_SERVER') ?? "https://" . ($_SERVER["HTTP_HOST"] ?? null) . "/dav";
// default sorting order of tasks listing (auto, datetime, startdatetime, flagged, complete, changed)
$config['tasklist_sort_col'] = '';
// default sorting order for tasks listing (asc or desc)
$config['tasklist_sort_order'] = 'asc';

File Metadata

Mime Type
text/x-diff
Expires
Sat, Apr 4, 9:49 AM (3 w, 6 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18754803
Default Alt Text
(24 KB)

Event Timeline