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
Merge branch 'staging' into watchdog-no-notify-on-startup
96a5891c
.github/renovate.json | 2 +-
.github/workflows/check_prs_if_on_staging.yml | 2 +-
.github/workflows/close_old_issues_and_prs.yml | 2 +-
README.md | 8 +-
data/Dockerfiles/clamd/Dockerfile | 2 +-
data/Dockerfiles/dovecot/Dockerfile | 4 +-
data/Dockerfiles/dovecot/imapsync_runner.pl | 9 +-
data/Dockerfiles/netfilter/Dockerfile | 14 +-
data/Dockerfiles/netfilter/docker-entrypoint.sh | 29 +
data/Dockerfiles/netfilter/{server.py => main.py} | 361 ++----
data/Dockerfiles/netfilter/modules/IPTables.py | 213 ++++
data/Dockerfiles/netfilter/modules/Logger.py | 23 +
data/Dockerfiles/netfilter/modules/NFTables.py | 495 ++++++++
data/Dockerfiles/netfilter/modules/__init__.py | 0
data/Dockerfiles/phpfpm/Dockerfile | 6 +-
data/Dockerfiles/rspamd/docker-entrypoint.sh | 3 +
data/Dockerfiles/sogo/Dockerfile | 2 +-
data/Dockerfiles/solr/Dockerfile | 2 +-
data/Dockerfiles/watchdog/watchdog.sh | 107 +-
data/assets/nextcloud/nextcloud.conf | 4 +-
data/conf/postfix/postscreen_access.cidr | 37 +-
data/conf/rspamd/dynmaps/footer.php | 91 ++
data/conf/rspamd/local.d/ratelimit.conf | 9 +
data/conf/rspamd/lua/rspamd.local.lua | 80 +-
data/conf/rspamd/override.d/ratelimit.conf | 8 -
data/web/admin.php | 6 +-
data/web/api/openapi.yaml | 195 +++
data/web/edit.php | 3 +
data/web/inc/functions.fail2ban.inc.php | 71 +-
data/web/inc/functions.inc.php | 15 +
data/web/inc/functions.mailbox.inc.php | 193 ++-
data/web/inc/init_db.inc.php | 18 +-
.../ldaprecord/.github/workflows/run-tests.yml | 8 +-
.../.github/workflows/main.yml | 6 +-
.../twofactorauth/.github/workflows/test.yml | 2 +-
.../collect/.github/workflows/run-tests.yml | 2 +-
.../lib/vendor/twig/twig/.github/workflows/ci.yml | 4 +-
.../twig/twig/.github/workflows/documentation.yml | 6 +-
data/web/inc/prerequisites.inc.php | 4 +
data/web/inc/presets/sieve/sieve_8.yml | 18 +
data/web/inc/vars.inc.php | 175 +--
data/web/js/build/013-mailcow.js | 8 +
data/web/js/site/debug.js | 2 +-
data/web/js/site/edit.js | 17 +
data/web/js/site/quarantine.js | 6 +-
data/web/json_api.php | 37 +-
data/web/lang/lang.cs-cz.json | 133 +-
data/web/lang/lang.de-de.json | 21 +-
data/web/lang/lang.en-gb.json | 14 +-
data/web/lang/lang.fi-fi.json | 12 +
data/web/lang/lang.fr-fr.json | 30 +-
data/web/lang/lang.hu-hu.json | 7 +-
data/web/lang/lang.pt-br.json | 1301 ++++++++++++++++++++
data/web/lang/lang.ru-ru.json | 14 +-
data/web/lang/lang.si-si.json | 164 ++-
data/web/lang/lang.sk-sk.json | 76 +-
data/web/lang/lang.tr-tr.json | 135 +-
data/web/lang/lang.uk-ua.json | 14 +-
data/web/templates/admin/tab-config-f2b.twig | 16 +
data/web/templates/edit.twig | 1 +
data/web/templates/edit/domain.twig | 28 +-
data/web/templates/edit/mailbox.twig | 32 +
data/web/templates/edit/syncjob.twig | 10 +-
data/web/templates/modals/mailbox.twig | 11 +-
data/web/templates/modals/user.twig | 7 +
docker-compose.yml | 18 +-
generate_config.sh | 19 +-
helper-scripts/generate_caa_record.py | 122 ++
helper-scripts/nextcloud.sh | 6 +-
update.sh | 169 +--
70 files changed, 3947 insertions(+), 722 deletions(-)
create mode 100755 data/Dockerfiles/netfilter/docker-entrypoint.sh
rename data/Dockerfiles/netfilter/{server.py => main.py} (53%)
create mode 100644 data/Dockerfiles/netfilter/modules/IPTables.py
create mode 100644 data/Dockerfiles/netfilter/modules/Logger.py
create mode 100644 data/Dockerfiles/netfilter/modules/NFTables.py
create mode 100644 data/Dockerfiles/netfilter/modules/__init__.py
create mode 100644 data/conf/rspamd/dynmaps/footer.php
create mode 100644 data/conf/rspamd/local.d/ratelimit.conf
create mode 100644 data/web/inc/presets/sieve/sieve_8.yml
create mode 100644 data/web/lang/lang.pt-br.json
create mode 100755 helper-scripts/generate_caa_record.py
Diff
diff --cc data/Dockerfiles/watchdog/watchdog.sh
index 77281b71,1e0d6813..b95bf84b
--- a/data/Dockerfiles/watchdog/watchdog.sh
+++ b/data/Dockerfiles/watchdog/watchdog.sh
@@@ -746,9 -770,7 +770,9 @@@ olefy_checks()
}
# Notify about start
- if [[ ! -z ${WATCHDOG_NOTIFY_EMAIL} ]] && [[ ${WATCHDOG_NOTIFY_START} =~ ^([yY][eE][sS]|[yY])+$ ]]; then
- mail_error "watchdog-mailcow" "Watchdog started monitoring mailcow."
-notify_error "watchdog-mailcow" "Watchdog started monitoring mailcow."
++if [[ ${WATCHDOG_NOTIFY_START} =~ ^([yY][eE][sS]|[yY])+$ ]]; then
++ notify_error "watchdog-mailcow" "Watchdog started monitoring mailcow."
+fi
# Create watchdog agents
diff --cc docker-compose.yml
index f208de0c,26bec79e..d8f0db78
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@@ -488,8 -486,9 +486,10 @@@ services
- USE_WATCHDOG=${USE_WATCHDOG:-n}
- WATCHDOG_NOTIFY_EMAIL=${WATCHDOG_NOTIFY_EMAIL:-}
- WATCHDOG_NOTIFY_BAN=${WATCHDOG_NOTIFY_BAN:-y}
+ - WATCHDOG_NOTIFY_START=${WATCHDOG_NOTIFY_START:-y}
- WATCHDOG_SUBJECT=${WATCHDOG_SUBJECT:-Watchdog ALERT}
+ - WATCHDOG_NOTIFY_WEBHOOK=${WATCHDOG_NOTIFY_WEBHOOK:-}
+ - WATCHDOG_NOTIFY_WEBHOOK_BODY=${WATCHDOG_NOTIFY_WEBHOOK_BODY:-}
- WATCHDOG_EXTERNAL_CHECKS=${WATCHDOG_EXTERNAL_CHECKS:-n}
- WATCHDOG_MYSQL_REPLICATION_CHECKS=${WATCHDOG_MYSQL_REPLICATION_CHECKS:-n}
- WATCHDOG_VERBOSE=${WATCHDOG_VERBOSE:-n}
diff --cc update.sh
index 533612ed,313d41fb..47ae1f8b
--- a/update.sh
+++ b/update.sh
@@@ -448,8 -441,9 +441,10 @@@ CONFIG_ARRAY=
"SKIP_SOGO"
"USE_WATCHDOG"
"WATCHDOG_NOTIFY_EMAIL"
+ "WATCHDOG_NOTIFY_WEBHOOK"
+ "WATCHDOG_NOTIFY_WEBHOOK_BODY"
"WATCHDOG_NOTIFY_BAN"
+ "WATCHDOG_NOTIFY_START"
"WATCHDOG_EXTERNAL_CHECKS"
"WATCHDOG_SUBJECT"
"SKIP_CLAMD"