One-way synchronization with doveadm/TCP
Hello, the replication procedure described at https://doc.dovecot.org/configuration_manual/replication/ suggests to open a server port 12345 on two systems, and then point each system to the other one. This creates bi-directional synchronization. I want to synchronize only from server A to server B, but not in the opposite direction. Is it sufficient on server A to set service doveadm { inet_listener { port = 12345 } } doveadm_password = secret and server B to set doveadm_port = 12345 doveadm_password = secret ? In other words, when a doveadm client (system B) connects to a server (system A) for replication purposes, does it only read data? Or does it instruct the server also to delete data? To start the replication I had to executed «doveadm replicator replicate '*'». Is in necessary to run this periodically? Thanks for your answer, Дилян ___ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-le...@dovecot.org
Re: Change the default base_dir to /run from ${prefix}/var/run
Hello, similarly the default state_dir = /usr/local/var/lib/dovecot is not compatible with the default ProtectSystem=full (⇔read-only /usr): May 20 10:04:44 d dovecot[319843]: master: Dovecot v0.0.0-33124+6b1bcf1bad (6b1bcf1bad) starting up for imap, lmtp May 20 10:04:44 d dovecot[319843]: master: Error: open(/usr/local/var/lib/dovecot/.temp.d.319843.4804e3352f1b5fd3) failed: Read-only file system May 20 10:04:44 d systemd[1]: Started dovecot.service - Dovecot IMAP/POP3 email server. May 20 10:04:44 d dovecot[319843]: master: Error: file_dotlock_open(/usr/local/var/lib/dovecot/instances) failed: Read-only file system Greetings Дилян -Original Message- From: Дилян Палаузов To: dovecot Subject: Change the default base_dir to /run from ${prefix}/var/run Date: 05/20/2024 08:26:30 AM Hello, at 6b1bcf1bad1d7, calling ./configure && make install sets prefix=/usr/local, and thus the default base_dir = /usr/local/var/run/dovecot. Moreover it installs /usr/lib/systemd/system/dovecot.service with [Service] ProtectSystem=full. ProtectSystem=full mounts /usr as read-only, so no files can be written under the default base_dir. The Linux Hierachy Standard says for /usr/local - https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s09.html - directories bin, etc, games, include, lib, man, sbin, share, and src must be in /usr/local. No other directories, except those listed below, may be in /usr/local after first installing a FHS-compliant system. var is not listed below. (“below” means the citation above, not the next paragraph) For /var/run LSH contains - https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varrunRuntimeVariableData - This directory was once intended for system information data describing the system since it was booted. These functions have been moved to /run; this directory exists to ensure compatibility with systems and software using an older version of this specification. In general, the requirements for /run shall also apply to /var/run. It is valid to implement /var/run as a symlink to /run. . For /run LHS mentions “This directory contains system information data describing the system since it was booted. Files under this directory must be cleared (removed or truncated as appropriate) at the beginning of the boot process.” The defaults base_dir=/usr/local/var/run/dovecot and ProtectSystem=full present a non-working configuration. • Please consider changing the default (implicit) value of base_dir to /run. • When prefix is /usr/local, then dovecot.service should be installed in /usr/local/lib/systemd/system/. Kind regards Дилян ___ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-le...@dovecot.org
Change the default base_dir to /run from ${prefix}/var/run
Hello, at 6b1bcf1bad1d7, calling ./configure && make install sets prefix=/usr/local, and thus the default base_dir = /usr/local/var/run/dovecot. Moreover it installs /usr/lib/systemd/system/dovecot.service with [Service] ProtectSystem=full. ProtectSystem=full mounts /usr as read-only, so no files can be written under the default base_dir. The Linux Hierachy Standard says for /usr/local - https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s09.html - directories bin, etc, games, include, lib, man, sbin, share, and src must be in /usr/local. No other directories, except those listed below, may be in /usr/local after first installing a FHS-compliant system. var is not listed below. (“below” means the citation above, not the next paragraph) For /var/run LSH contains - https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#varrunRuntimeVariableData - This directory was once intended for system information data describing the system since it was booted. These functions have been moved to /run; this directory exists to ensure compatibility with systems and software using an older version of this specification. In general, the requirements for /run shall also apply to /var/run. It is valid to implement /var/run as a symlink to /run. . For /run LHS mentions “This directory contains system information data describing the system since it was booted. Files under this directory must be cleared (removed or truncated as appropriate) at the beginning of the boot process.” The defaults base_dir=/usr/local/var/run/dovecot and ProtectSystem=full present a non-working configuration. • Please consider changing the default (implicit) value of base_dir to /run. • When prefix is /usr/local, then dovecot.service should be installed in /usr/local/lib/systemd/system/. Kind regards Дилян ___ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-le...@dovecot.org
example/config misses required section names for passdb{} and userdb{}
Hello, I installed Dovecot from git 6b1bcf1bad1d78e, copied /usr/local/share/doc/dovecot/example/config to /usr/local/etc/dovecot and called dovecot -F . The system reported doveconf: Fatal: Error in configuration file /usr/local/etc/dovecot/conf.d/auth-system.conf.ext line 11: passdb { } is missing section name The problem remains, if I delete dovecot-dict-auth.conf.ext dovecot-ldap.conf.ext dovecot-oauth2.conf.ext dovecot-sql.conf.ext conf.d/auth-deny.conf.ext conf.d/auth-ldap.conf.ext conf.d/auth-passwdfile.conf.ext conf.d/auth-static.conf.ext conf.d/auth-dict.conf.ext conf.d/auth-master.conf.ext conf.d/auth-sql.conf.ext thus leaving passdb {} and userdb {} defined on a single place. Indeed, auth-system.conf.ext contains the sections passdb and userdb without the optional name, as described at https://doc.dovecot.org/configuration_manual/config_file/#sections . The problem report is that the example configuration does not contain for sections userdb and passdb a section name, and at the same time the as optional described section name is mandatory in Dovecot on these places. Kind regards Dilyan ___ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-le...@dovecot.org