1
0
mirror of https://github.com/Mailu/Mailu.git synced 2025-07-01 00:44:57 +02:00
This commit is contained in:
Florent Daigniere
2024-09-12 10:39:18 +02:00
parent 307353107d
commit a875d7fe6a
5 changed files with 43 additions and 3 deletions

View File

@ -64,7 +64,7 @@ test_unsupported()
cmdline = [
"gunicorn",
"--threads", f"{os.cpu_count()}",
"--threads", f"{CPU_COUNT}",
# If SUBNET6 is defined, gunicorn must listen on IPv6 as well as IPv4
"-b", f"{'[::]' if os.environ.get('SUBNET6') else '0.0.0.0'}:8080",
"--logger-class mailu.Logger",

View File

@ -141,6 +141,7 @@ def clean_env():
for item in os.environ.get('TLS', ALL_PORTS).split(','):
if item in PORTS_REQUIRING_TLS:
os.environ[f'TLS_{item}']='True'
os.environ['CPU_COUNT'] = str(os.cpu_count())
def drop_privs_to(username='mailu'):
pwnam = getpwnam(username)

View File

@ -89,8 +89,7 @@ plugin {
service indexer-worker {
executable = /bin/nice -n 10 /usr/libexec/dovecot/indexer-worker
# TODO: maybe MAXPROC? I guess it depends on how much RAM is available
process_limit = 1
process_limit = {{ CPU_COUNT }}
}
###############
@ -137,12 +136,22 @@ service imap-login {
inet_listener imap {
port = 143
}
service_count = 0
client_limit = 25000
process_min_avail = {{ CPU_COUNT }}
process_limit = {{ CPU_COUNT }}
vsz_limit = 256M
}
service pop3-login {
inet_listener pop3 {
port = 110
}
service_count = 0
client_limit = 25000
process_min_avail = {{ CPU_COUNT }}
process_limit = {{ CPU_COUNT }}
vsz_limit = 256M
}
###############
@ -166,6 +175,11 @@ service managesieve-login {
inet_listener sieve {
port = 4190
}
service_count = 0
client_limit = 25000
process_min_avail = {{ CPU_COUNT }}
process_limit = {{ CPU_COUNT }}
vsz_limit = 256M
}
protocol sieve {

View File

@ -87,6 +87,11 @@ service managesieve-login {
inet_listener sieve-webmail {
port = 14190
}
service_count = 0
client_limit = 25000
process_min_avail = {{ CPU_COUNT }}
process_limit = {{ CPU_COUNT }}
vsz_limit = 256M
}
{% endif %}
@ -114,6 +119,11 @@ service imap-login {
inet_listener imap-webmail {
port = 10143
}
service_count = 0
client_limit = 25000
process_min_avail = {{ CPU_COUNT }}
process_limit = {{ CPU_COUNT }}
vsz_limit = 256M
}
service pop3-login {
@ -132,6 +142,11 @@ service pop3-login {
{% endif %}
}
{% endif %}
service_count = 0
client_limit = 25000
process_min_avail = {{ CPU_COUNT }}
process_limit = {{ CPU_COUNT }}
vsz_limit = 256M
}
recipient_delimiter = {{ RECIPIENT_DELIMITER }}
@ -161,4 +176,11 @@ service submission-login {
inet_listener submission-webmail {
port = 10025
}
service_count = 0
client_limit = 25000
process_min_avail = {{ CPU_COUNT }}
process_limit = {{ CPU_COUNT }}
vsz_limit = 256M
}
!include_try /overrides/dovecot.conf

View File

@ -0,0 +1,3 @@
Ensure we can do more than 100 parallel sessions.
Make use of all CPUs available for indexing
Allow dovecot's config to be overriden in front too