瀏覽代碼

[SOGo] Increase workers count to 20
[Postfix] Add extended TLS header
[Web] Increase timeout to 10 for docker API connections
[Postfix] Add perl package

André 7 年之前
父節點
當前提交
30cea1da9a

+ 8 - 3
data/Dockerfiles/postfix/Dockerfile

@@ -15,6 +15,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
 	dirmngr \
 	dirmngr \
 	gnupg \
 	gnupg \
 	libsasl2-modules \
 	libsasl2-modules \
+	perl \
 	postfix \
 	postfix \
 	postfix-mysql \
 	postfix-mysql \
 	postfix-pcre \
 	postfix-pcre \
@@ -30,9 +31,13 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
   && printf '#!/bin/bash\n/usr/sbin/postconf -c /opt/postfix/conf "$@"' > /usr/local/sbin/postconf \
   && printf '#!/bin/bash\n/usr/sbin/postconf -c /opt/postfix/conf "$@"' > /usr/local/sbin/postconf \
   && chmod +x /usr/local/sbin/postconf
   && chmod +x /usr/local/sbin/postconf
 
 
-RUN addgroup --system --gid 600 zeyple
-RUN adduser --system --home /var/lib/zeyple --no-create-home --uid 600 --gid 600 --disabled-login zeyple
-RUN touch /var/log/zeyple.log && chown zeyple: /var/log/zeyple.log
+RUN addgroup --system --gid 600 zeyple \
+  && adduser --system --home /var/lib/zeyple --no-create-home --uid 600 --gid 600 --disabled-login zeyple \
+  && touch /var/log/zeyple.log \
+  && chown zeyple: /var/log/zeyple.log \
+  && mkdir -p /opt/mailman/var/data \
+  && touch /opt/mailman/var/data/postfix_lmtp \
+  && touch /opt/mailman/var/data/postfix_domains
 
 
 COPY zeyple.py /usr/local/bin/zeyple.py
 COPY zeyple.py /usr/local/bin/zeyple.py
 COPY zeyple.conf /etc/zeyple.conf
 COPY zeyple.conf /etc/zeyple.conf

+ 1 - 0
data/conf/postfix/main.cf

@@ -3,6 +3,7 @@ append_dot_mydomain = no
 smtpd_tls_cert_file = /etc/ssl/mail/cert.pem
 smtpd_tls_cert_file = /etc/ssl/mail/cert.pem
 smtpd_tls_key_file = /etc/ssl/mail/key.pem
 smtpd_tls_key_file = /etc/ssl/mail/key.pem
 smtpd_use_tls=yes
 smtpd_use_tls=yes
+smtpd_tls_received_header = yes
 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
 smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
 smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination

+ 1 - 1
data/conf/sogo/sogo.conf

@@ -5,7 +5,7 @@
         PrivateDAndTViewer
         PrivateDAndTViewer
     );
     );
 
 
-    WOWorkersCount = "14";
+    WOWorkersCount = "20";
     SOGoACLsSendEMailNotifications = YES;
     SOGoACLsSendEMailNotifications = YES;
     SOGoAppointmentSendEMailNotifications = YES;
     SOGoAppointmentSendEMailNotifications = YES;
     SOGoDraftsFolderName = "Drafts";
     SOGoDraftsFolderName = "Drafts";

+ 2 - 2
data/web/debug.php

@@ -292,13 +292,13 @@ $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
                   <div class="form-group">
                   <div class="form-group">
                     <label class="control-label col-sm-3" for="rspamd_ui_pass"><?=$lang['admin']['password'];?>:</label>
                     <label class="control-label col-sm-3" for="rspamd_ui_pass"><?=$lang['admin']['password'];?>:</label>
                     <div class="col-sm-9">
                     <div class="col-sm-9">
-                    <input type="password" class="form-control" name="rspamd_ui_pass" id="rspamd_ui_pass">
+                    <input type="password" class="form-control" name="rspamd_ui_pass" id="rspamd_ui_pass" required>
                     </div>
                     </div>
                   </div>
                   </div>
                   <div class="form-group">
                   <div class="form-group">
                     <label class="control-label col-sm-3" for="rspamd_ui_pass2"><?=$lang['admin']['password_repeat'];?>:</label>
                     <label class="control-label col-sm-3" for="rspamd_ui_pass2"><?=$lang['admin']['password_repeat'];?>:</label>
                     <div class="col-sm-9">
                     <div class="col-sm-9">
-                    <input type="password" class="form-control" name="rspamd_ui_pass2" id="rspamd_ui_pass2">
+                    <input type="password" class="form-control" name="rspamd_ui_pass2" id="rspamd_ui_pass2" required>
                     </div>
                     </div>
                   </div>
                   </div>
                   <div class="form-group">
                   <div class="form-group">

+ 4 - 4
data/web/inc/functions.docker.inc.php

@@ -7,7 +7,7 @@ function docker($service_name, $action, $attr1 = null, $attr2 = null, $extra_hea
       curl_setopt($curl, CURLOPT_URL, 'http://dockerapi:8080/containers/json');
       curl_setopt($curl, CURLOPT_URL, 'http://dockerapi:8080/containers/json');
       curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt($curl, CURLOPT_POST, 0);
       curl_setopt($curl, CURLOPT_POST, 0);
-      curl_setopt($curl, CURLOPT_TIMEOUT, 4);
+      curl_setopt($curl, CURLOPT_TIMEOUT, 10);
       $response = curl_exec($curl);
       $response = curl_exec($curl);
       if ($response === false) {
       if ($response === false) {
         $err = curl_error($curl);
         $err = curl_error($curl);
@@ -33,7 +33,7 @@ function docker($service_name, $action, $attr1 = null, $attr2 = null, $extra_hea
         curl_setopt($curl, CURLOPT_URL, 'http://dockerapi:8080/containers/' . $container_id . '/json');
         curl_setopt($curl, CURLOPT_URL, 'http://dockerapi:8080/containers/' . $container_id . '/json');
         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
         curl_setopt($curl, CURLOPT_POST, 0);
         curl_setopt($curl, CURLOPT_POST, 0);
-        curl_setopt($curl, CURLOPT_TIMEOUT, 4);
+        curl_setopt($curl, CURLOPT_TIMEOUT, 10);
         $response = curl_exec($curl);
         $response = curl_exec($curl);
         if ($response === false) {
         if ($response === false) {
           $err = curl_error($curl);
           $err = curl_error($curl);
@@ -60,7 +60,7 @@ function docker($service_name, $action, $attr1 = null, $attr2 = null, $extra_hea
         if (ctype_xdigit($container_id) && ctype_alnum($attr1)) {
         if (ctype_xdigit($container_id) && ctype_alnum($attr1)) {
           curl_setopt($curl, CURLOPT_URL, 'http://dockerapi:8080/containers/' . $container_id . '/' . $attr1);
           curl_setopt($curl, CURLOPT_URL, 'http://dockerapi:8080/containers/' . $container_id . '/' . $attr1);
           curl_setopt($curl, CURLOPT_POST, 1);
           curl_setopt($curl, CURLOPT_POST, 1);
-          curl_setopt($curl, CURLOPT_TIMEOUT, 4);
+          curl_setopt($curl, CURLOPT_TIMEOUT, 10);
           if (!empty($attr2)) {
           if (!empty($attr2)) {
             curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($attr2));
             curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($attr2));
           }
           }
@@ -87,4 +87,4 @@ function docker($service_name, $action, $attr1 = null, $attr2 = null, $extra_hea
       }
       }
     break;
     break;
   }
   }
-}
+}