Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117758503
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
24 KB
Referenced Files
None
Subscribers
None
View Options
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
Details
Attached
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)
Attached To
Mode
rK kolab
Attached
Detach File
Event Timeline