You've already forked Mailu
							
							
				mirror of
				https://github.com/Mailu/Mailu.git
				synced 2025-10-30 23:37:43 +02:00 
			
		
		
		
	Use tenacity for resolver retries
This commit is contained in:
		| @@ -3,7 +3,8 @@ FROM alpine:3.7 | ||||
| RUN echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \ | ||||
|  && apk add --no-cache \ | ||||
|      dovecot dovecot-sqlite dovecot-pigeonhole-plugin dovecot-pigeonhole-plugin-extdata \ | ||||
|      dovecot-fts-lucene rspamd-client@testing python py-jinja2 | ||||
|      dovecot-fts-lucene rspamd-client@testing python py-jinja2 py-pip \ | ||||
|  && pip install tenacity | ||||
|  | ||||
| COPY conf /conf | ||||
| COPY sieve /var/lib/dovecot | ||||
|   | ||||
| @@ -4,27 +4,19 @@ import jinja2 | ||||
| import os | ||||
| import socket | ||||
| import glob | ||||
| import time | ||||
| from tenacity import retry | ||||
|  | ||||
| convert = lambda src, dst: open(dst, "w").write(jinja2.Template(open(src).read()).render(**os.environ)) | ||||
|  | ||||
| # Actual startup script | ||||
| i = 0 | ||||
| t = 10 | ||||
| while True: | ||||
| 	i += 1 | ||||
| 	try: | ||||
| 		os.environ["FRONT_ADDRESS"] = socket.gethostbyname(os.environ.get("FRONT_ADDRESS", "front")) | ||||
| 		os.environ["REDIS_ADDRESS"] = socket.gethostbyname(os.environ.get("REDIS_ADDRESS", "redis")) | ||||
| 		if os.environ["WEBMAIL"] != "none": | ||||
| 			os.environ["WEBMAIL_ADDRESS"] = socket.gethostbyname(os.environ.get("WEBMAIL_ADDRESS", "webmail")) | ||||
| 	except socket.gaierror as err: | ||||
| 		if i >= t: | ||||
| 			raise | ||||
| 		time.sleep(10) | ||||
| 		continue | ||||
| 	break | ||||
| @retry(stop=stop_after_attempt(10), wait=wait_random(min=2, max=5)) | ||||
| def resolve(): | ||||
| 	os.environ["FRONT_ADDRESS"] = socket.gethostbyname(os.environ.get("FRONT_ADDRESS", "front")) | ||||
| 	os.environ["REDIS_ADDRESS"] = socket.gethostbyname(os.environ.get("REDIS_ADDRESS", "redis")) | ||||
| 	if os.environ["WEBMAIL"] != "none": | ||||
| 		os.environ["WEBMAIL_ADDRESS"] = socket.gethostbyname(os.environ.get("WEBMAIL_ADDRESS", "webmail")) | ||||
|  | ||||
| # Actual startup script | ||||
| resolve() | ||||
| for dovecot_file in glob.glob("/conf/*"): | ||||
|     convert(dovecot_file, os.path.join("/etc/dovecot", os.path.basename(dovecot_file))) | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| FROM alpine:3.7 | ||||
|  | ||||
| RUN apk add --no-cache postfix postfix-sqlite postfix-pcre rsyslog python py-jinja2 | ||||
| RUN apk add --no-cache postfix postfix-sqlite postfix-pcre rsyslog python py-jinja2 py-pip \ | ||||
|  && pip install tenacity | ||||
|  | ||||
| COPY conf /conf | ||||
| COPY start.py /start.py | ||||
|   | ||||
| @@ -5,23 +5,16 @@ import os | ||||
| import socket | ||||
| import glob | ||||
| import shutil | ||||
| import time | ||||
| from tenacity import retry | ||||
|  | ||||
| convert = lambda src, dst: open(dst, "w").write(jinja2.Template(open(src).read()).render(**os.environ)) | ||||
|  | ||||
| @retry(stop=stop_after_attempt(10), wait=wait_random(min=2, max=5)) | ||||
| def resolve(): | ||||
| 	os.environ["FRONT_ADDRESS"] = socket.gethostbyname(os.environ.get("FRONT_ADDRESS", "front")) | ||||
|  | ||||
| # Actual startup script | ||||
| i = 0 | ||||
| t = 10 | ||||
| while True: | ||||
| 	i += 1 | ||||
| 	try: | ||||
| 		os.environ["FRONT_ADDRESS"] = socket.gethostbyname(os.environ.get("FRONT_ADDRESS", "front")) | ||||
| 	except socket.gaierror as err: | ||||
| 		if i >= t: | ||||
| 			raise | ||||
| 		time.sleep(10) | ||||
| 		continue | ||||
| 	break | ||||
| resolve() | ||||
| os.environ["HOST_ANTISPAM"] = os.environ.get("HOST_ANTISPAM", "antispam:11332") | ||||
| os.environ["HOST_LMTP"] = os.environ.get("HOST_LMTP", "imap:2525") | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| FROM alpine:edge | ||||
|  | ||||
| RUN apk add --no-cache python py-jinja2 rspamd rspamd-controller rspamd-proxy ca-certificates | ||||
| RUN apk add --no-cache python py-jinja2 rspamd rspamd-controller rspamd-proxy ca-certificates py-pip \ | ||||
|  && pip install tenacity | ||||
|  | ||||
| RUN mkdir /run/rspamd | ||||
|  | ||||
|   | ||||
| @@ -4,23 +4,16 @@ import jinja2 | ||||
| import os | ||||
| import socket | ||||
| import glob | ||||
| import time | ||||
| from tenacity import retry | ||||
|  | ||||
| convert = lambda src, dst: open(dst, "w").write(jinja2.Template(open(src).read()).render(**os.environ)) | ||||
|  | ||||
| @retry(stop=stop_after_attempt(10), wait=wait_random(min=2, max=5)) | ||||
| def resolve(): | ||||
| 	os.environ["FRONT_ADDRESS"] = socket.gethostbyname(os.environ.get("FRONT_ADDRESS", "front")) | ||||
|  | ||||
| # Actual startup script | ||||
| i = 0 | ||||
| t = 10 | ||||
| while True: | ||||
| 	i += 1 | ||||
| 	try: | ||||
| 		os.environ["FRONT_ADDRESS"] = socket.gethostbyname(os.environ.get("FRONT_ADDRESS", "front")) | ||||
| 	except socket.gaierror as err: | ||||
| 		if i >= t: | ||||
| 			raise | ||||
| 		time.sleep(10) | ||||
| 		continue | ||||
| 	break | ||||
| resolve() | ||||
| if "HOST_REDIS" not in os.environ: os.environ["HOST_REDIS"] = "redis" | ||||
|  | ||||
| for rspamd_file in glob.glob("/conf/*"): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user