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 new file mode 100644 index 00000000..4f999838 --- /dev/null +++ b/docker/roundcube/rootfs/opt/app-root/src/roundcubemail-config-templates/chwala.inc.php @@ -0,0 +1,149 @@ + 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', + ), +); +*/ + +// 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'] = true; + +// 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 ab2cbd1f..b37687a6 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,204 +1,199 @@ [ // '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}
{locality} {zipcode}
{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; //TODO we need an autocomplete addressbook again // $config['autocomplete_addressbooks'] = Array( // 'kolab_addressbook' // ); $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'); ?>