public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
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
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);
+};