Add random created master at each startup to handle SOGo features
parent
ed9d64bab4
commit
eef81c58ae
|
@ -1 +1,3 @@
|
||||||
rebuild-images.sh
|
rebuild-images.sh
|
||||||
|
data/conf/sogo/sieve.creds
|
||||||
|
data/conf/dovecot/dovecot-master.passwd
|
||||||
|
|
|
@ -13,4 +13,10 @@ chown -R vmail:vmail /var/vmail/sieve
|
||||||
# Do not do this every start-up, it may take a very long time. So we use a stat check here.
|
# Do not do this every start-up, it may take a very long time. So we use a stat check here.
|
||||||
if [[ $(stat -c %U /var/vmail/) != "vmail" ]] ; then chown -R vmail:vmail /var/vmail ; fi
|
if [[ $(stat -c %U /var/vmail/) != "vmail" ]] ; then chown -R vmail:vmail /var/vmail ; fi
|
||||||
|
|
||||||
|
# Create random master for SOGo sieve features
|
||||||
|
RAND_USER=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1)
|
||||||
|
RAND_PASS=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 24 | head -n 1)
|
||||||
|
echo ${RAND_USER}:$(doveadm pw -s PBKDF2 -p ${RAND_PASSWD}) > /etc/dovecot/dovecot-master.passwd
|
||||||
|
echo ${RAND_USER}:${RAND_PASS} > /etc/sogo/sieve.creds
|
||||||
|
|
||||||
exec "$@"
|
exec "$@"
|
||||||
|
|
|
@ -5,5 +5,6 @@ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
while true; do
|
while true; do
|
||||||
/usr/sbin/sogo-tool expire-sessions 60
|
/usr/sbin/sogo-tool expire-sessions 60
|
||||||
/usr/sbin/sogo-ealarms-notify
|
/usr/sbin/sogo-ealarms-notify
|
||||||
|
/usr/sbin/sogo-tool update-autoreply -p /etc/sogo/sieve.creds
|
||||||
sleep 60
|
sleep 60
|
||||||
done
|
done
|
||||||
|
|
|
@ -80,6 +80,7 @@ if (isset($_SESSION['mailcow_cc_role']) && ($_SESSION['mailcow_cc_role'] == "adm
|
||||||
<button type="submit" name="trigger_mailbox_action" value="adddomain" class="btn btn-success"><?=$lang['add']['save'];?></button>
|
<button type="submit" name="trigger_mailbox_action" value="adddomain" class="btn btn-success"><?=$lang['add']['save'];?></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<p><span class="glyphicon glyphicon-exclamation-sign text-danger"></span> <?=$lang['add']['restart_sogo_hint'];?></p>
|
||||||
</form>
|
</form>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
|
@ -328,12 +328,12 @@ function mailbox_add_domain($postarray) {
|
||||||
':modified' => date('Y-m-d H:i:s'),
|
':modified' => date('Y-m-d H:i:s'),
|
||||||
':relay_all_recipients' => $relay_all_recipients
|
':relay_all_recipients' => $relay_all_recipients
|
||||||
));
|
));
|
||||||
/*
|
//
|
||||||
PoC for a restart with supervisord unix socket
|
// PoC for a restart with supervisord unix socket
|
||||||
* $sock = stream_socket_client("unix:///var/run/controller/supervisord.sock", $errno, $errstr, 30);
|
// * $sock = stream_socket_client("unix:///var/run/controller/supervisord.sock", $errno, $errstr, 30);
|
||||||
* fwrite($sock, "GET ?processname=sogo&action=restart HTTP/1.0\r\nAccept: */*\r\n\r\n");
|
// * fwrite($sock, "GET ?processname=sogo&action=restart HTTP/1.0\r\nAccept: */*\r\n\r\n");
|
||||||
* fclose($sock);
|
// * fclose($sock);
|
||||||
*/
|
//
|
||||||
$_SESSION['return'] = array(
|
$_SESSION['return'] = array(
|
||||||
'type' => 'success',
|
'type' => 'success',
|
||||||
'msg' => sprintf($lang['success']['domain_added'], htmlspecialchars($domain))
|
'msg' => sprintf($lang['success']['domain_added'], htmlspecialchars($domain))
|
||||||
|
|
|
@ -283,6 +283,7 @@ $lang['add']['select_domain'] = 'Bitte zuerst eine Domain auswählen';
|
||||||
$lang['add']['password'] = 'Passwort:';
|
$lang['add']['password'] = 'Passwort:';
|
||||||
$lang['add']['password_repeat'] = 'Passwort (Wiederholung):';
|
$lang['add']['password_repeat'] = 'Passwort (Wiederholung):';
|
||||||
$lang['add']['previous'] = 'Vorherige Seite';
|
$lang['add']['previous'] = 'Vorherige Seite';
|
||||||
|
$lang['add']['restart_sogo_hint'] = 'Der SOGo Container muss nach dem Hinzufügen einer neuen Domain neugestartet werden!';
|
||||||
|
|
||||||
$lang['login']['title'] = 'Anmeldung';
|
$lang['login']['title'] = 'Anmeldung';
|
||||||
$lang['login']['administration'] = 'Administration';
|
$lang['login']['administration'] = 'Administration';
|
||||||
|
|
|
@ -283,6 +283,7 @@ $lang['add']['select_domain'] = 'Please select a domain first';
|
||||||
$lang['add']['password'] = 'Password:';
|
$lang['add']['password'] = 'Password:';
|
||||||
$lang['add']['password_repeat'] = 'Confirmation password (repeat):';
|
$lang['add']['password_repeat'] = 'Confirmation password (repeat):';
|
||||||
$lang['add']['previous'] = 'Previous page';
|
$lang['add']['previous'] = 'Previous page';
|
||||||
|
$lang['add']['restart_sogo_hint'] = 'You will need to restart the SOGo service container after adding a new domain!';
|
||||||
|
|
||||||
$lang['login']['title'] = 'Login';
|
$lang['login']['title'] = 'Login';
|
||||||
$lang['login']['administration'] = 'Administration';
|
$lang['login']['administration'] = 'Administration';
|
||||||
|
|
|
@ -134,6 +134,8 @@ services:
|
||||||
- ./data/conf/dovecot:/etc/dovecot
|
- ./data/conf/dovecot:/etc/dovecot
|
||||||
- ./data/assets/ssl:/etc/ssl/mail/:ro
|
- ./data/assets/ssl:/etc/ssl/mail/:ro
|
||||||
- vmail-vol-1:/var/vmail
|
- vmail-vol-1:/var/vmail
|
||||||
|
volumes_from:
|
||||||
|
- sogo-mailcow
|
||||||
environment:
|
environment:
|
||||||
- DBNAME=${DBNAME}
|
- DBNAME=${DBNAME}
|
||||||
- DBUSER=${DBUSER}
|
- DBUSER=${DBUSER}
|
||||||
|
|
Loading…
Reference in New Issue