[Postfix] Use Redis master if set
This commit is contained in:
		
							parent
							
								
									f6b3a6e874
								
							
						
					
					
						commit
						15fb2e22ea
					
				| @ -39,21 +39,24 @@ RUN groupadd -g 102 postfix \ | ||||
| 
 | ||||
| COPY supervisord.conf /etc/supervisor/supervisord.conf | ||||
| COPY syslog-ng.conf /etc/syslog-ng/syslog-ng.conf | ||||
| COPY syslog-ng-redis_slave.conf /etc/syslog-ng/syslog-ng-redis_slave.conf | ||||
| COPY stop-supervisor.sh /usr/local/sbin/stop-supervisor.sh | ||||
| COPY postfix.sh /opt/postfix.sh | ||||
| COPY rspamd-pipe-ham /usr/local/bin/rspamd-pipe-ham | ||||
| COPY rspamd-pipe-spam /usr/local/bin/rspamd-pipe-spam | ||||
| COPY whitelist_forwardinghosts.sh /usr/local/bin/whitelist_forwardinghosts.sh | ||||
| COPY stop-supervisor.sh /usr/local/sbin/stop-supervisor.sh | ||||
| COPY docker-entrypoint.sh /docker-entrypoint.sh | ||||
| 
 | ||||
| RUN chmod +x /opt/postfix.sh \ | ||||
|   /usr/local/bin/rspamd-pipe-ham \ | ||||
|   /usr/local/bin/rspamd-pipe-spam \ | ||||
|   /usr/local/bin/whitelist_forwardinghosts.sh \ | ||||
|   /usr/local/sbin/stop-supervisor.sh | ||||
| RUN rm -rf /tmp/* /var/tmp/* | ||||
| 
 | ||||
| EXPOSE 588 | ||||
| 
 | ||||
| CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf | ||||
| ENTRYPOINT ["/docker-entrypoint.sh"] | ||||
| 
 | ||||
| RUN rm -rf /tmp/* /var/tmp/* | ||||
| CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf | ||||
|  | ||||
							
								
								
									
										7
									
								
								data/Dockerfiles/postfix/docker-entrypoint.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								data/Dockerfiles/postfix/docker-entrypoint.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,7 @@ | ||||
| #!/bin/bash | ||||
| 
 | ||||
| if [[ ! -z ${REDIS_SLAVEOF_IP} ]]; then | ||||
|   cp /etc/syslog-ng/syslog-ng-redis_slave.conf /etc/syslog-ng/syslog-ng.conf | ||||
| fi | ||||
| 
 | ||||
| exec "$@" | ||||
							
								
								
									
										49
									
								
								data/Dockerfiles/postfix/syslog-ng-redis_slave.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								data/Dockerfiles/postfix/syslog-ng-redis_slave.conf
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,49 @@ | ||||
| @version: 3.19 | ||||
| @include "scl.conf" | ||||
| options { | ||||
|   chain_hostnames(off); | ||||
|   flush_lines(0); | ||||
|   use_dns(no); | ||||
|   dns_cache(no); | ||||
|   use_fqdn(no); | ||||
|   owner("root"); group("adm"); perm(0640); | ||||
|   stats_freq(0); | ||||
|   bad_hostname("^gconfd$"); | ||||
| }; | ||||
| source s_src { | ||||
|   unix-stream("/dev/log"); | ||||
|   internal(); | ||||
| }; | ||||
| destination d_stdout { pipe("/dev/stdout"); }; | ||||
| destination d_redis_ui_log { | ||||
|   redis( | ||||
|     host("`REDIS_SLAVEOF_IP`") | ||||
|     persist-name("redis1") | ||||
|     port(`REDIS_SLAVEOF_PORT`) | ||||
|     command("LPUSH" "POSTFIX_MAILLOG" "$(format-json time=\"$S_UNIXTIME\" priority=\"$PRIORITY\" program=\"$PROGRAM\" message=\"$MESSAGE\")\n") | ||||
|   ); | ||||
| }; | ||||
| destination d_redis_f2b_channel { | ||||
|   redis( | ||||
|     host("`REDIS_SLAVEOF_IP`") | ||||
|     persist-name("redis2") | ||||
|     port(`REDIS_SLAVEOF_PORT`) | ||||
|     command("PUBLISH" "F2B_CHANNEL" "$MESSAGE") | ||||
|   ); | ||||
| }; | ||||
| filter f_mail { facility(mail); }; | ||||
| # start | ||||
| # overriding warnings are still displayed when the entrypoint runs its initial check | ||||
| # warnings logged by postfix-mailcow to syslog are hidden to reduce repeating msgs | ||||
| filter f_overrides { not match("overriding earlier entry" value("MESSAGE")); }; | ||||
| # end | ||||
| filter f_skip_local { not facility (local0, local1, local2, local3, local4, local5, local6, local7); }; | ||||
| log { | ||||
|   source(s_src); | ||||
|   filter(f_skip_local); | ||||
|   filter(f_overrides); | ||||
|   destination(d_stdout); | ||||
|   filter(f_mail); | ||||
|   destination(d_redis_ui_log); | ||||
|   destination(d_redis_f2b_channel); | ||||
| }; | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 andryyy
						andryyy