diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..77b86547 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +rebuild-images.sh diff --git a/README.md b/README.md index 5a3056e7..b6068c91 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,7 @@ Backup database: source mailcow.conf # Create DATE=$(date +"%Y%m%d_%H%M%S") -docker-compose exec mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql +docker-compose exec mysql-mailcow mysqldump --default-character-set=utf8 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql ``` ### Backup maildir (simple tar): diff --git a/data/conf/sogo/sogo.conf b/data/conf/sogo/sogo.conf index 9367eebc..c635ea9e 100644 --- a/data/conf/sogo/sogo.conf +++ b/data/conf/sogo/sogo.conf @@ -1,6 +1,4 @@ { - // Database configuration is written to GNUStep defaults when starting container. - SOGoCalendarDefaultRoles = ( PublicViewer, ConfidentialDAndTViewer, @@ -11,9 +9,8 @@ SOGoACLsSendEMailNotifications = YES; SOGoAppointmentSendEMailNotifications = YES; SOGoDraftsFolderName = "Drafts"; - SOGoJunkFolderName= "Junk"; - SOGoMailDomain = "sogo.local"; - // Waiting for bug fix from SOGo + SOGoJunkFolderName= "Junk"; + SOGoMailDomain = "sogo.local"; SOGoEnableEMailAlarms = NO; SOGoFoldersSendEMailNotifications = YES; SOGoForwardEnabled = YES; @@ -39,7 +36,6 @@ SOGoMaximumSyncWindowSize = 0; SOGoMaximumSyncResponseSize = 1024; - MySQL4Encoding = "utf8mb4"; WOWatchDogRequestTimeout = 10; WOListenQueueSize = 300; diff --git a/data/web/inc/init.sql b/data/web/inc/init.sql index 84d4effc..bcb9528d 100644 --- a/data/web/inc/init.sql +++ b/data/web/inc/init.sql @@ -6,7 +6,7 @@ CREATE TABLE IF NOT EXISTS `admin` ( `modified` datetime NOT NULL DEFAULT '2016-01-01 00:00:00', `active` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`username`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `alias` ( `address` varchar(255) NOT NULL, @@ -17,19 +17,19 @@ CREATE TABLE IF NOT EXISTS `alias` ( `active` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`address`), KEY `domain` (`domain`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `sender_acl` ( `logged_in_as` varchar(255) NOT NULL, `send_as` varchar(255) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `spamalias` ( `address` varchar(255) NOT NULL, `goto` text NOT NULL, `validity` int(11) NOT NULL, PRIMARY KEY (`address`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `alias_domain` ( `alias_domain` varchar(255) NOT NULL, @@ -40,7 +40,7 @@ CREATE TABLE IF NOT EXISTS `alias_domain` ( PRIMARY KEY (`alias_domain`), KEY `active` (`active`), KEY `target_domain` (`target_domain`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `domain` ( `domain` varchar(255) NOT NULL, @@ -56,7 +56,7 @@ CREATE TABLE IF NOT EXISTS `domain` ( `modified` datetime NOT NULL DEFAULT '2016-01-01 00:00:00', `active` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`domain`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `domain_admins` ( `username` varchar(255) NOT NULL, @@ -64,7 +64,7 @@ CREATE TABLE IF NOT EXISTS `domain_admins` ( `created` datetime NOT NULL DEFAULT '2016-01-01 00:00:00', `active` tinyint(1) NOT NULL DEFAULT '1', KEY `username` (`username`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `mailbox` ( `username` varchar(255) NOT NULL, @@ -81,14 +81,14 @@ CREATE TABLE IF NOT EXISTS `mailbox` ( `active` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`username`), KEY `domain` (`domain`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `quota2` ( `username` varchar(100) NOT NULL, `bytes` bigint(20) NOT NULL DEFAULT '0', `messages` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`username`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `filterconf` ( `object` varchar(100) NOT NULL DEFAULT '', @@ -97,7 +97,7 @@ CREATE TABLE IF NOT EXISTS `filterconf` ( `prefid` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`prefid`), KEY `object` (`object`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP VIEW IF EXISTS grouped_mail_aliases; DROP VIEW IF EXISTS grouped_sender_acl; @@ -135,7 +135,7 @@ CREATE TABLE IF NOT EXISTS sogo_acl ( c_role varchar(80) NOT NULL, KEY sogo_acl_c_folder_id_idx (c_folder_id), KEY sogo_acl_c_uid_idx (c_uid) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS sogo_alarms_folder ( c_path varchar(255) NOT NULL, @@ -144,7 +144,7 @@ CREATE TABLE IF NOT EXISTS sogo_alarms_folder ( c_recurrence_id int(11) DEFAULT NULL, c_alarm_number int(11) NOT NULL, c_alarm_date int(11) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS sogo_cache_folder ( c_uid varchar(255) NOT NULL, @@ -157,7 +157,7 @@ CREATE TABLE IF NOT EXISTS sogo_cache_folder ( c_deleted tinyint(4) NOT NULL DEFAULT '0', c_content longtext, PRIMARY KEY (c_uid,c_path) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS sogo_folder_info ( c_folder_id bigint(20) unsigned NOT NULL AUTO_INCREMENT, @@ -173,7 +173,7 @@ CREATE TABLE IF NOT EXISTS sogo_folder_info ( c_folder_type varchar(255) NOT NULL, PRIMARY KEY (c_path), UNIQUE KEY c_folder_id (c_folder_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS sogo_quick_appointment ( c_folder_id int(11) NOT NULL, @@ -201,7 +201,7 @@ CREATE TABLE IF NOT EXISTS sogo_quick_appointment ( c_nextalarm int(11) DEFAULT NULL, c_description text, PRIMARY KEY (c_folder_id,c_name) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS sogo_quick_contact ( c_folder_id int(11) NOT NULL, @@ -218,7 +218,7 @@ CREATE TABLE IF NOT EXISTS sogo_quick_contact ( c_categories varchar(255) DEFAULT NULL, c_component varchar(10) NOT NULL, PRIMARY KEY (c_folder_id,c_name) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS sogo_sessions_folder ( c_id varchar(255) NOT NULL, @@ -226,7 +226,7 @@ CREATE TABLE IF NOT EXISTS sogo_sessions_folder ( c_creationdate int(11) NOT NULL, c_lastseen int(11) NOT NULL, PRIMARY KEY (c_id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS sogo_store ( c_folder_id int(11) NOT NULL, @@ -237,14 +237,14 @@ CREATE TABLE IF NOT EXISTS sogo_store ( c_version int(11) NOT NULL, c_deleted int(11) DEFAULT NULL, PRIMARY KEY (c_folder_id,c_name) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS sogo_user_profile ( c_uid varchar(255) NOT NULL, c_defaults text, c_settings text, PRIMARY KEY (c_uid) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO admin (username, password, superadmin, created, modified, active) VALUES ('admin', '{SSHA256}K8eVJ6YsZbQCfuJvSUbaQRLr0HPLz5rC9IAp0PAFl0tmNDBkMDc0NDAyOTAxN2Rk', 1, NOW(), NOW(), 1); INSERT INTO domain_admins (username, domain, created, active) VALUES ('admin', 'ALL', NOW(), 1);