midb(8gx)
π NAME π
okay so bestie, meet midb(8gx) β the Message Index database daemon, straight out of the Gromox admin reference. Itβs giving backend main character energy, and honestly? Iconic. β¨
π¦ SYNOPSIS π¦
midb [-c config]
πΈ DESCRIPTION πΈ
So midb is the daemon that imap(8gx) and pop3(8gx) rely on to generate and keep track of folder and message summaries. No cap, itβs doing the quiet work behind the scenes. π
Specifically, it enumerates messages to give them their IMAP UID and to have a suitable UIDNEXT value ready for folders at all times. It also caches the Message-Id, modification date, message flags, subject and sender to facilitate IMAP listings. The way it just keeps track of everything? Obsessed. π«Ά
β¨ OPTIONS β¨
-c configβ read configuration directives from the given file. If this option is not specified,/etc/gromox/gromox.cfgand/etc/gromox/midb.cfgwill be read.--versionβ output version information and exit. slay, short and sweet.-?β display option summary. little helper behavior, we love to see it.
All time-based command-line options and configuration file directives are subject to the syntax described in gromox(7), section "Duration specifications". So yeah, go read that if youβre setting any timey-wimey values. π°οΈ
π§ CONFIGURATION DIRECTIVES (gromox.cfg) π§
The following directives are recognized when reading from /etc/gromox/gromox.cfg, or when the -c option is used to specify a custom file:
daemons_fd_limitβ ingromox-midb, this is treated as an alias formidb_fd_limit.midb_fd_limitβ request that the file descriptor table be at least this large. The magic value0indicates that the system default hard limit (rlim_max, cf.setrlimit(2)) should be used. Default:0midb_listenβ a space-separated list of bind address specifiers to expose the MIDB service on. Default:[::1]:5555
π CONFIGURATION DIRECTIVES (midb.cfg) π
The following directives are recognized when reading from /etc/gromox/midb.cfg, or when the -c option is used to specify a custom file:
config_file_pathβ colon-separated list of directories which will be scanned when locating further configuration files, especially those used by subcomponent instances. For example,mysql_adaptor(4gx)would be directed to look at/etc/gromox/midb/mysql_adaptor.cfgbefore/etc/gromox/mysql_adaptor.cfg. Default:/etc/gromox/midb:/etc/gromoxdata_file_pathβ colon-separated list of directories which will be scanned when locating data files. Default:/usr/share/gromox/midbmidb_cache_intervalβ the time after the last use of a particularmidb.sqlite3that the sqlite gets unloaded. Default:30minutesmidb_cmd_debugβ log every incoming MIDB command and the return code of the operation in a minimal fashion to stderr (notmidb_log_file!). Level1emits commands with a failure return code, level2emits all commands. Logs are written to stderr only. Default:0midb_hosts_allowβ a space-separated list of individual host addresses that are allowed to converse with the midb service. The addresses must conform togromox(7)Β§ "Host addresses". No networks and no CIDR notations are permitted. This option deprecates the/etc/gromox/midb_acl.txtfile used before Gromox 2.8. Default:::1midb_listen_ipβ deprecated in favor ofgromox.cfg:midb_listen.midb_listen_portβ deprecated in favor ofgromox.cfg:midb_listen.midb_log_fileβ target for log messages here. Special values:"-"(stderr/syslog depending on parent PID) or"syslog"are recognized. Default:-(auto)midb_log_levelβ maximum verbosity of logging.1=crit,2=error,3=warn,4=notice,5=info,6=debug. Default:4(notice)midb_reload_intervalβ the time after amidb.sqlite3was first loaded that it will be unloaded. Default:60minmidb_schema_upgradesβ this directive controls whether database schemas are automatically upgraded when a message index database (midb.sqlite) is loaded. During this time, that DB is unavailable and operations on it will be delayed. Connection aborts, if any, would be due to timeouts in components other than midb. The file can temporarily grow to double its size, so ample disk space may be required. Default:yesmidb_table_sizeβ the page only gives the default here:5000midb_threads_numβ the exact number of client processing threads to keep around. This also controls the maximum number of concurrent connections by external clients towards midb. Default:100rpc_proxy_connection_numβ for every exmdb server inexmdb_list.txt, establish and keep this many outbound connections for sending commands. There is at most one additional connection, for async notification, alive per server. Default:10sqlite_debugβ if set to1, every query given to SQLite prepare/execute is logged. If set to0, only failed queries are logged. It cannot be made completely silent, since our queries ought to never fail. Default:0x500_org_nameβ Default:(unspecified)
β οΈ heads up on midb_schema_upgrades: while schemas are being automatically upgraded, that DB is unavailable and operations on it will be delayed. Connection aborts, if any, would be due to timeouts in components other than midb. Also the file can temporarily grow to double its size, so bestie, make sure thereβs ample disk space. π
π FILES π
config_file_path/exmdb_list.txt: exmdb multiserver selection map.
π SEE ALSO π
source/version: Gromox Β· manual: midb(8gx) Β· date: no date shown on this page β and thatβs the whole vibe, bestie. πππ¦
π¦ where this page comes from
- alpine 3.24: grommunio-gromox-doc 3.6-r0 Β· AGPL-3.0-or-later
- π the page's license: CC-BY-SA-4.0 or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms