NobGit
public nobgit read

NobMail

Based on mailcow: dockerized

Languages

Repository composition by tracked source files.

PHP
PHP 49% JavaScript 35% HTML 9% CSS 4% Shell 2% Python 1% Lua 0% Perl 0% Ruby 0% SCSS 0%
Create file Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git

Commit

Log to redis and file

980acb50
andryyy <[email protected]> 9 years ago
data/Dockerfiles/sogo/Dockerfile       |  7 +++++--
 data/Dockerfiles/sogo/supervisord.conf |  2 +-
 data/Dockerfiles/sogo/syslog-ng.conf   | 37 ++++++++++++++++++++++++++++++++++
 3 files changed, 43 insertions(+), 3 deletions(-)
 create mode 100644 data/Dockerfiles/sogo/syslog-ng.conf

Diff

diff --git a/data/Dockerfiles/sogo/Dockerfile b/data/Dockerfiles/sogo/Dockerfile
index 475468b1..f1e820d7 100644
--- a/data/Dockerfiles/sogo/Dockerfile
+++ b/data/Dockerfiles/sogo/Dockerfile
@@ -14,6 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
 		supervisor \
 		syslog-ng \
 		syslog-ng-core \
+		syslog-ng-mod-redis \
 		wget \
 	&& rm -rf /var/lib/apt/lists/* \
 	&& dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \
@@ -36,12 +37,14 @@ RUN apt-key adv --keyserver keys.gnupg.net --recv-key 0x810273C4 \
 		sogo-activesync \
 	&& rm -rf /var/lib/apt/lists/*
 
-RUN sed -i -E 's/^(\s*)system\(\);/\1unix-stream("\/dev\/log");/' /etc/syslog-ng/syslog-ng.conf
-RUN echo '* * * * *   sogo   /usr/sbin/sogo-ealarms-notify' > /etc/cron.d/sogo
+RUN echo '* * * * *   sogo   /usr/sbin/sogo-ealarms-notify 2>/dev/null' > /etc/cron.d/sogo
 RUN echo '* * * * *   sogo   /usr/sbin/sogo-tool expire-sessions 60' >> /etc/cron.d/sogo
 RUN echo '0 0 * * *   sogo   /usr/sbin/sogo-tool update-autoreply -p /etc/sogo/sieve.creds' >> /etc/cron.d/sogo
 
+RUN touch /etc/default/locale
+
 COPY ./reconf-domains.sh /
+COPY syslog-ng.conf /etc/syslog-ng/syslog-ng.conf
 COPY supervisord.conf /etc/supervisor/supervisord.conf
 
 CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
diff --git a/data/Dockerfiles/sogo/supervisord.conf b/data/Dockerfiles/sogo/supervisord.conf
index a2d32e76..6f8e6e35 100644
--- a/data/Dockerfiles/sogo/supervisord.conf
+++ b/data/Dockerfiles/sogo/supervisord.conf
@@ -19,7 +19,7 @@ autorestart=true
 priority=10
 
 [program:sogo-syslog]
-command=/usr/bin/tail -f /var/log/syslog -f /var/log/sogo/sogo.log
+command=/usr/bin/tail -f /var/log/combined.log
 stdout_logfile=/dev/fd/1
 stdout_logfile_maxbytes=0
 
diff --git a/data/Dockerfiles/sogo/syslog-ng.conf b/data/Dockerfiles/sogo/syslog-ng.conf
new file mode 100644
index 00000000..6e9ba2a2
--- /dev/null
+++ b/data/Dockerfiles/sogo/syslog-ng.conf
@@ -0,0 +1,37 @@
+@version: 3.5
+@include "scl.conf"
+options {
+  chain_hostnames(off);
+  flush_lines(0);
+  use_dns(no);
+  use_fqdn(no);
+  owner("root"); group("adm"); perm(0640);
+  stats_freq(0);
+  bad_hostname("^gconfd$");
+};
+source s_src {
+  unix-stream("/dev/log");
+  internal();
+};
+source s_sogo {
+  file("/var/log/sogo/sogo.log");
+};
+destination d_combined {
+  file("/var/log/combined.log");
+};
+destination d_redis {
+  redis(
+    host("redis-mailcow")
+    port(6379)
+    command("LPUSH" "SOGO_LOG" "$(format-json time=\"$S_UNIXTIME\" priority=\"$PRIORITY\" program=\"$PROGRAM\" message=\"$MESSAGE\")\n")
+  );
+};
+log {
+  source(s_sogo);
+  source(s_src);
+  destination(d_combined);
+};
+log {
+  source(s_sogo);
+  destination(d_redis);
+};