diff --git a/config.prod/src/.env b/config.prod/src/.env index 611206e2..f3273172 100644 --- a/config.prod/src/.env +++ b/config.prod/src/.env @@ -1,161 +1,142 @@ APP_NAME=Kolab APP_ENV=local APP_KEY= APP_DEBUG=true APP_URL=https://{{ host }} APP_PUBLIC_URL=https://{{ host }} APP_DOMAIN={{ host }} APP_WEBSITE_DOMAIN={{ host }} APP_THEME=default APP_TENANT_ID=5 APP_LOCALE=en APP_LOCALES= APP_WITH_ADMIN=1 APP_WITH_RESELLER=1 APP_WITH_SERVICES=1 APP_WITH_FILES=1 APP_WITH_WALLET=0 APP_WITH_SIGNUP=0 APP_LDAP=0 APP_IMAP=1 APP_HEADER_CSP="connect-src 'self'; child-src 'self'; font-src 'self'; form-action 'self' data:; frame-ancestors 'self'; img-src blob: data: 'self' *; media-src 'self'; object-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-eval' 'unsafe-inline'; default-src 'self';" APP_HEADER_XFO=sameorigin ASSET_URL=https://{{ host }} WEBMAIL_URL=/roundcubemail/ SUPPORT_URL=/support LOG_CHANNEL=stdout LOG_SLOW_REQUESTS=5 LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug DB_CONNECTION=mysql DB_DATABASE=kolabdev DB_HOST=mariadb DB_PASSWORD={{ admin_password }} DB_ROOT_PASSWORD={{ admin_password }} DB_PORT=3306 DB_USERNAME=kolabdev BROADCAST_DRIVER=redis CACHE_DRIVER=redis QUEUE_CONNECTION=redis SESSION_DRIVER=file SESSION_LIFETIME=120 OPENEXCHANGERATES_API_KEY="from openexchangerates.org" MFA_DSN=mysql://roundcube:{{ admin_password }}@mariadb/roundcube MFA_TOTP_DIGITS=6 MFA_TOTP_INTERVAL=30 MFA_TOTP_DIGEST=sha1 IMAP_URI=imap:11143 IMAP_HOST=172.18.0.12 IMAP_ADMIN_LOGIN=cyrus-admin IMAP_ADMIN_PASSWORD={{ admin_password }} IMAP_VERIFY_HOST=false IMAP_VERIFY_PEER=false SMTP_HOST=172.18.0.13 SMTP_PORT=10587 -LDAP_BASE_DN="dc=mgmt,dc=com" -LDAP_DOMAIN_BASE_DN="ou=Domains,dc=mgmt,dc=com" -LDAP_HOSTS=ldap -LDAP_PORT=389 -LDAP_SERVICE_BIND_DN="uid=kolab-service,ou=Special Users,dc=mgmt,dc=com" -LDAP_SERVICE_BIND_PW="{{ admin_password }}" -LDAP_USE_SSL=false -LDAP_USE_TLS=false - -# Administrative -LDAP_ADMIN_BIND_DN="cn=Directory Manager" -LDAP_ADMIN_BIND_PW="{{ admin_password }}" -LDAP_ADMIN_ROOT_DN="dc=mgmt,dc=com" - -# Hosted (public registration) -LDAP_HOSTED_BIND_DN="uid=hosted-kolab-service,ou=Special Users,dc=mgmt,dc=com" -LDAP_HOSTED_BIND_PW="{{ admin_password }}" -LDAP_HOSTED_ROOT_DN="dc=hosted,dc=com" - COTURN_PUBLIC_IP='{{ public_ip }}' MEET_SERVER_URLS=https://{{ host }}/meetmedia/api/ MEET_SERVER_VERIFY_TLS=false MEET_WEBRTC_LISTEN_IP='172.18.0.1' MEET_PUBLIC_DOMAIN={{ host }} MEET_TURN_SERVER='turn:172.18.0.1:3478' MEET_LISTENING_HOST=172.18.0.1 PGP_ENABLE=true PGP_BINARY=/usr/bin/gpg PGP_AGENT=/usr/bin/gpg-agent PGP_GPGCONF=/usr/bin/gpgconf PGP_LENGTH= REDIS_HOST=redis REDIS_PASSWORD=null REDIS_PORT=6379 OCTANE_HTTP_HOST={{ host }} SWOOLE_PACKAGE_MAX_LENGTH=10485760 MAIL_DRIVER=log MAIL_MAILER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS="noreply@example.com" MAIL_FROM_NAME="Example.com" MAIL_REPLYTO_ADDRESS="replyto@example.com" MAIL_REPLYTO_NAME=null DNS_TTL=3600 DNS_SPF="v=spf1 mx -all" DNS_STATIC="%s. MX 10 ext-mx01.mykolab.com." DNS_COPY_FROM=null MIX_ASSET_PATH='/' PASSWORD_POLICY= COMPANY_NAME=kolab.org COMPANY_ADDRESS= COMPANY_DETAILS= COMPANY_EMAIL= COMPANY_LOGO= COMPANY_FOOTER= VAT_COUNTRIES=CH,LI VAT_RATE=7.7 KB_ACCOUNT_DELETE= KB_ACCOUNT_SUSPENDED= KB_PAYMENT_SYSTEM= KOLAB_SSL_CERTIFICATE=/etc/pki/tls/certs/kolab.hosted.com.cert KOLAB_SSL_CERTIFICATE_FULLCHAIN=/etc/pki/tls/certs/kolab.hosted.com.chain.pem KOLAB_SSL_CERTIFICATE_KEY=/etc/pki/tls/certs/kolab.hosted.com.key PROXY_SSL_CERTIFICATE=/etc/certs/imap.hosted.com.cert PROXY_SSL_CERTIFICATE_KEY=/etc/certs/imap.hosted.com.key OPENEXCHANGERATES_API_KEY={{ openexchangerates_api_key }} FIREBASE_API_KEY={{ firebase_api_key }} MINIO_USER=minio MINIO_PASSWORD=W3lcom32@ph3lia MINIO_BUCKET=kolab FILESYSTEM_DISK=minio diff --git a/docker/roundcube/rootfs/etc/roundcubemail/calendar.inc.php b/docker/roundcube/rootfs/etc/roundcubemail/calendar.inc.php index 1a97b475..b0471677 100644 --- a/docker/roundcube/rootfs/etc/roundcubemail/calendar.inc.php +++ b/docker/roundcube/rootfs/etc/roundcubemail/calendar.inc.php @@ -1,73 +1,29 @@ 'Kolab Resources', - 'hosts' => getenv('LDAP_HOST'), - 'port' => 389, - 'use_tls' => false, - 'base_dn' => 'dc=hosted,dc=com', - 'user_specific' => true, - 'bind_dn' => '%dn', - 'bind_pass' => '', - 'search_base_dn' => 'dc=hosted,dc=com', - 'search_bind_dn' => 'uid=kolab-service,ou=Special Users,dc=mgmt,dc=com', - 'search_bind_pw' => getenv('LDAP_SERVICE_BIND_PW'), - 'search_filter' => '(&(objectClass=inetorgperson)(mail=%fu))', - 'ldap_version' => 3, - 'filter' => '(|(|(objectclass=groupofuniquenames)(objectclass=groupofurls))(objectclass=kolabsharedfolder))', - 'search_fields' => array('cn'), - 'sort' => array('cn'), - 'scope' => 'sub', - 'fuzzy_search' => true, - 'fieldmap' => array( - // Internal => LDAP - 'name' => 'cn', - 'email' => 'mail', - 'owner' => 'owner', - 'description' => 'description', - 'attributes' => 'kolabdescattribute', - 'members' => 'uniquemember', - // these mappings are required for owner display - 'phone' => 'telephoneNumber', - 'mobile' => 'mobile', - ), - - 'class_type_map' => array( - 'kolabsharedfolder' => 'resource', - 'groupofuniquenames' => 'collection', - ), - - 'groups' => array( - 'name_attr' => 'cn', - ), - ); - 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/etc/roundcubemail/config.inc.php b/docker/roundcube/rootfs/etc/roundcubemail/config.inc.php index d91a094d..90cd7d61 100644 --- a/docker/roundcube/rootfs/etc/roundcubemail/config.inc.php +++ b/docker/roundcube/rootfs/etc/roundcubemail/config.inc.php @@ -1,263 +1,205 @@ [ // '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 // ) // ); - // LDAP Settings - $config['ldap_cache'] = 'db'; - $config['ldap_cache_ttl'] = '1h'; - // 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', 'password', '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['ldap_debug'] = false; $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['address_book_type'] = 'ldap'; $config['autocomplete_min_length'] = 3; $config['autocomplete_threads'] = 0; $config['autocomplete_max'] = 15; - $config['ldap_public'] = array( - 'kolab_addressbook' => array( - 'name' => 'Global Address Book', - 'hosts' => Array(getenv('LDAP_HOST')), - 'port' => 389, - 'use_tls' => false, - 'base_dn' => 'dc=hosted,dc=com', - 'user_specific' => true, - 'bind_dn' => '%dn', - 'bind_pass' => '', - 'search_base_dn' => 'dc=hosted,dc=com', - 'search_bind_dn' => 'uid=kolab-service,ou=Special Users,dc=mgmt,dc=com', - 'search_bind_pw' => getenv('LDAP_SERVICE_BIND_PW'), - 'search_filter' => '(&(objectClass=inetorgperson)(mail=%fu))', - 'writable' => false, - 'LDAP_Object_Classes' => array("top", "inetorgperson"), - 'required_fields' => array("cn", "sn", "mail"), - 'LDAP_rdn' => 'uid', - 'ldap_version' => 3, // using LDAPv3 - 'search_fields' => array('displayname', 'mail'), - 'sort' => array('displayname', 'sn', 'givenname', 'cn'), - 'scope' => 'sub', - 'filter' => '(objectClass=inetorgperson)', - 'vlv' => true, - 'vlv_search' => true, - 'fuzzy_search' => true, - 'sizelimit' => '0', - 'timelimit' => '0', - 'fieldmap' => Array( - // Roundcube => LDAP - 'name' => 'displayName', - 'surname' => 'sn', - 'firstname' => 'givenName', - 'middlename' => 'initials', - 'email:primary' => 'mail', - 'email:alias' => 'alias', - 'email:personal' => 'mailalternateaddress', - 'phone:main' => 'telephoneNumber', - 'phone:work' => 'alternateTelephoneNumber', - 'phone:mobile' => 'mobile', - 'phone:work2' => 'blackberry', - 'jobtitle' => 'title', - 'manager' => 'manager', - 'assistant' => 'secretary', - 'photo' => 'jpegphoto' - ), - 'groups' => Array( - 'base_dn' => 'dc=hosted,dc=com', - 'filter' => '(&' . '(|(objectclass=groupofuniquenames)(objectclass=groupofurls))' . '(mail=*))', - 'object_classes' => Array("top", "groupOfUniqueNames"), - 'member_attr' => 'uniqueMember', - ), - ), - ); - $config['autocomplete_addressbooks'] = Array( - 'kolab_addressbook' - ); + //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'); ?> diff --git a/docker/roundcube/rootfs/etc/roundcubemail/dav.inc.php b/docker/roundcube/rootfs/etc/roundcubemail/dav.inc.php index 257c1ec7..43dc1342 100644 --- a/docker/roundcube/rootfs/etc/roundcubemail/dav.inc.php +++ b/docker/roundcube/rootfs/etc/roundcubemail/dav.inc.php @@ -1,160 +1,54 @@ . | | | +-------------------------------------------------------------------------+ */ $config = array(); // The HTTP path to the iRony root directory. // Set to / if the service is registered as document root for a virtual host $config['base_uri'] = '/iRony/'; // User agent string written to kolab storage MIME messages $config['useragent'] = 'Kolab DAV Server libkolab/' . RCUBE_VERSION; // Type of Auth cache. Supported values: 'db', 'apc' and 'memcache'. // Note: This is only for username canonification map. $config['kolabdav_auth_cache'] = 'db'; // lifetime of the Auth cache, possible units: s, m, h, d, w $config['kolabdav_auth_cache_ttl'] = '1h'; // enable debug console showing the internal function calls triggered // by http requests. This will write log to /var/log/iRony/console $config['kolabdav_console'] = false; // enable logging of full HTTP payload // (bitmask of these values: 2 = HTTP Requests, 4 = HTTP Responses) $config['kolabdav_http_log'] = 0; // expose iTip invitations from email inbox in CalDAV scheduling inbox. // this will make capable CalDAV clients process event invitations and // as a result, the invitation messages are removed from the email inbox. // WARNING: this feature is still experimental and not fully implemented. // See https://git.kolab.org/T93 for details and implementation status. $config['kolabdav_caldav_inbox'] = false; - -// Enables the CardDAV Directory Gateway Extension by exposing an -// LDAP-based address book in the pricipals address book collection. -// Properties of this option are the same as for $config['ldap_public'] entries. -// NOTE: Mapping of (additional) 'uid' and 'changed' fields is required! -/* -$config['kolabdav_ldap_directory'] = array( - 'name' => 'Global Address Book', - 'hosts' => 'localhost', - 'port' => 389, - 'use_tls' => false, - // If true the base_dn, bind_dn and bind_pass default to the user's credentials. - 'user_specific' => false, - // It's possible to bind with the current user's credentials for individual address books. - // The login name is used to search for the DN to bind with - 'search_base_dn' => 'ou=People,dc=example,dc=org', - 'search_bind_dn' => 'uid=kolab-service,ou=Special Users,dc=example,dc=org', - 'search_bind_pw' => 'Welcome2KolabSystems', - 'search_filter' => '(&(objectClass=inetOrgPerson)(mail=%fu))', - // When 'user_specific' is enabled following variables can be used in base_dn/bind_dn config: - // %fu - The full username provided, assumes the username is an email - // address, uses the username_domain value if not an email address. - // %u - The username prior to the '@'. - // %d - The domain name after the '@'. - // %dc - The domain name hierarchal string e.g. "dc=test,dc=domain,dc=com" - // %dn - DN found by ldap search when search_filter/search_base_dn are used - 'base_dn' => 'ou=People,dc=example,dc=org', - 'bind_dn' => 'uid=kolab-service,ou=Special Users,dc=example,dc=org', - 'bind_pass' => 'Welcome2KolabSystems', - 'ldap_version' => 3, - 'filter' => '(objectClass=inetOrgPerson)', - 'search_fields' => array('displayname', 'mail'), - 'sort' => array('displayname', 'sn', 'givenname', 'cn'), - 'scope' => 'sub', - 'searchonly' => true, // Set to false to enable listing - 'sizelimit' => '1000', - 'timelimit' => '0', - 'fieldmap' => array( - // Roundcube => LDAP - 'name' => 'displayName', - 'surname' => 'sn', - 'firstname' => 'givenName', - 'middlename' => 'initials', - 'prefix' => 'title', - 'email:work' => 'mail', - 'email:other' => 'alias', - 'phone:main' => 'telephoneNumber', - 'phone:work' => 'alternateTelephoneNumber', - 'phone:mobile' => 'mobile', - 'phone:work2' => 'blackberry', - 'street' => 'street', - 'zipcode' => 'postalCode', - 'locality' => 'l', - 'organization' => 'o', - 'jobtitle' => 'title', - 'photo' => 'jpegphoto', - // required for internal handling and caching - 'uid' => 'nsuniqueid', - 'changed' => 'modifytimestamp', - ), -); - -// Expose all resources as an LDAP-based address book in the pricipals address book collection. -// This enables Non-Kolab-Clients to add resources to an event. -// Properties of this option are the same as for $config['kolabdav_ldap_directory'] entries. -$config['kolabdav_ldap_resources'] = array( - 'name' => 'Global Resources', - 'hosts' => 'localhost', - 'port' => 389, - 'use_tls' => false, - 'user_specific' => false, - 'search_base_dn' => 'ou=People,dc=example,dc=org', - 'search_bind_dn' => 'uid=kolab-service,ou=Special Users,dc=example,dc=org', - 'search_bind_pw' => 'Welcome2KolabSystems', - 'search_filter' => '(&(objectClass=inetOrgPerson)(mail=%fu))', - 'base_dn' => 'ou=Resources,dc=example,dc=org', - 'bind_dn' => 'uid=kolab-service,ou=Special Users,dc=example,dc=org', - 'bind_pass' => 'Welcome2KolabSystems', - 'ldap_version' => 3, - 'filter' => '(|(objectclass=groupofuniquenames)(objectclass=groupofurls)(objectclass=kolabsharedfolder))', - 'search_fields' => array('displayname', 'mail'), - 'sort' => array('displayname', 'sn', 'givenname', 'cn'), - 'scope' => 'sub', - 'searchonly' => false, // Set to false to enable listing - 'sizelimit' => '1000', - 'timelimit' => '0', - 'fieldmap' => array( - // Internal => LDAP - 'name' => 'cn', - 'email' => 'mail', - 'owner' => 'owner', - 'description' => 'description', - 'attributes' => 'kolabdescattribute', - 'members' => 'uniquemember', - // these mappings are required for owner display - 'phone' => 'telephoneNumber', - 'mobile' => 'mobile', - ), -); - -*/ - -// Enable caching for LDAP directory data. -// This is recommended with 'searchonly' => false to speed-up sychronization of multiple clients -// $config['kolabdav_ldap_cache'] = 'memcache'; -// $config['kolabdav_ldap_cache_ttl'] = 600; // in seconds diff --git a/docker/roundcube/rootfs/etc/roundcubemail/kolab_delegation.inc.php b/docker/roundcube/rootfs/etc/roundcubemail/kolab_delegation.inc.php index f8358198..4c3dc985 100644 --- a/docker/roundcube/rootfs/etc/roundcubemail/kolab_delegation.inc.php +++ b/docker/roundcube/rootfs/etc/roundcubemail/kolab_delegation.inc.php @@ -1,14 +1,14 @@ diff --git a/docker/roundcube/rootfs/etc/roundcubemail/kolab_files.inc.php b/docker/roundcube/rootfs/etc/roundcubemail/kolab_files.inc.php index d67cb373..601da18f 100644 --- a/docker/roundcube/rootfs/etc/roundcubemail/kolab_files.inc.php +++ b/docker/roundcube/rootfs/etc/roundcubemail/kolab_files.inc.php @@ -1,30 +1,20 @@ diff --git a/docker/roundcube/rootfs/etc/roundcubemail/password.inc.php b/docker/roundcube/rootfs/etc/roundcubemail/password.inc.php index 09808d92..8b074a3c 100644 --- a/docker/roundcube/rootfs/etc/roundcubemail/password.inc.php +++ b/docker/roundcube/rootfs/etc/roundcubemail/password.inc.php @@ -1,155 +1,29 @@ diff --git a/docker/roundcube/rootfs/opt/app-root/src/init.sh b/docker/roundcube/rootfs/opt/app-root/src/init.sh index daa34fc2..2045a20c 100755 --- a/docker/roundcube/rootfs/opt/app-root/src/init.sh +++ b/docker/roundcube/rootfs/opt/app-root/src/init.sh @@ -1,75 +1,69 @@ #!/bin/bash echo "Starting" set -e set -x -echo "push" pushd /opt/app-root/src/ - -echo "..." -# FIXME doesn't work in rootless -# sed -i -r -e "s|service_bind_pw = .*$|service_bind_pw = $LDAP_SERVICE_BIND_PW|g" /etc/kolab/kolab.conf - pushd roundcubemail ## Copy our configs over the default ones cp /etc/roundcubemail/* config/ DES_KEY=$(openssl rand -base64 24); sed -i -r -e "s|\$config\['des_key'\] = .*$|\$config['des_key'] = \"$DES_KEY\";|g" config/config.inc.php # Initialize the db cat > /tmp/kolab-setup-my.cnf << EOF [client] host=${DB_HOST} user=root password=${DB_ROOT_PASSWORD} EOF mysql --defaults-file=/tmp/kolab-setup-my.cnf </dev/null 2>&1 || : done fi done popd roundcubemail/bin/initdb.sh --dir syncroton/docs/SQL/ || : roundcubemail/bin/initdb.sh --dir chwala/doc/SQL/ || : echo "Updating tables..." roundcubemail/bin/updatedb.sh --dir syncroton/docs/SQL/ --package syncroton || : roundcubemail/bin/updatedb.sh --dir roundcubemail/SQL/ --package roundcube || : roundcubemail/bin/updatedb.sh --dir roundcubemail/plugins/libkolab/SQL/ --package libkolab || : roundcubemail/bin/updatedb.sh --dir roundcubemail/plugins/kolab-calendar/SQL/ --package calendar-kolab || : echo "" echo "Done, starting httpd..." /usr/sbin/php-fpm exec httpd -DFOREGROUND