Настройки и файлы
Где что лежит и какие настройки есть. Всё состояние — в одной базе SQLite, конфиги собираются из неё.
Настройки
mailnode config ls
mailnode config get public_host
mailnode config set public_host mail.example.ru
| Ключ | Что задаёт |
| hostname | имя узла, попадает в приветствие SMTP |
| public_host | имя, на котором работает панель и веб-почта |
| alert_email | куда слать письма о проблемах |
| message_size_limit | предельный размер письма в байтах |
| rate_messages, rate_recipients, rate_connections | лимиты отправки в минуту |
| spam_to_junk | 1 — глобальный фильтр кладёт спам в Junk, 0 — только помечает |
| backup_remote | куда копировать бэкап: user@host:/path |
| update_source | свой адрес канала обновлений |
| tfa_enabled, tfa_secret | второй фактор панели |
| tls_cert, tls_key | пути к сертификату и ключу |
После смены настроек пересоберите конфиги
mailnode render — иначе Postfix и Dovecot продолжат работать по старым файлам. Часть настроек (rate_*, message_size_limit) команда config set применяет сама.
Файлы узла
| Путь | Что внутри |
| /opt/mailnode/mailnode.py | сама утилита |
| /opt/mailnode/mailpanel.py | панель |
| /opt/mailnode/caldav_gateway.py | шлюз календарей |
| /opt/mailnode/state/mailnode.db | состояние: домены, ящики, алиасы, узлы, настройки, журнал |
| /opt/mailnode/state/keys/ | ключи DKIM по доменам |
| /opt/mailnode/state/backup-*/ | копии файлов перед обновлением |
| /opt/mailnode/panel.pass | пароль панели, права 0600 |
Собранные конфиги
| Файл | Что настраивает |
| /etc/postfix/main.cf, virtual_* | домены, ящики, релеи, милтеры, лимиты |
| /etc/dovecot/conf.d/09-mailnode.conf | IMAP, LMTP, квоты, Sieve, пароли |
| /etc/opendkim/ | ключи и таблицы подписи |
| /etc/rspamd/local.d/ | пороги и действия антиспама |
| /etc/caddy/Caddyfile | сайты: панель, веб-почта, календари |
| /etc/ssl/mailnode/ | сертификат и ключ для SMTP и IMAP |
Руками конфиги не правим
Любая правка в /etc/postfix или /etc/dovecot исчезнет при следующем render. Меняйте состояние: через панель, команды или настройки.
Почта пользователей
| Путь | Что |
| /var/vmail/домен/ящик/ | Maildir: cur, new, tmp, .Папки |
| /var/vmail/домен/ящик/sieve/ | скрипты фильтров |
| /var/lib/roundcube/db/roundcube.sqlite | настройки веб-почты |
| /var/backups/mailnode/ | архивы бэкапов |
Службы и таймеры
systemctl status postfix dovecot opendkim rspamd caddy mailpanel
systemctl list-timers | grep mailnode
| Юнит | Когда работает |
| mailnode-cert.timer | каждый час: проверяет сертификат |
| mailnode-backup.timer | каждый день в 03:30 |
| mailnode-update.timer | воскресенье 04:40 |
| mailnode-alert.timer | каждые 15 минут, письмо только при проблеме |
| mailnode-replicate.timer | раз в час, если настроен второй узел |
База напрямую
sqlite3 /opt/mailnode/state/mailnode.db ".tables"
sqlite3 /opt/mailnode/state/mailnode.db "select address, quota from mailboxes;"
Таблицы: domains, mailboxes, aliases, nodes, settings, audit. Править напрямую можно, но после правки обязателен mailnode render.