(zettel (meta (back "00001004011200") (backward "00001004011200") (box-name "manual") (created "20220307112918") (modified "20260727185359") (published "20260727185359") (role "manual") (syntax "zmk") (tags "#configuration #manual #zettelstore") (title "Configure memory boxes")) (rights read) (content "" "Most applications should configure the memory box explicitly.\nConfigure the memory box by appending query parameters to the base box URI ''mem:''.\n\nThe following parameters are supported:\n\n|= Parameter|Description|Default value>|Maximum value>\n|max-bytes|Maximum storage size of the box (in bytes)|65535|1073741824 (1 GiB)\n|max-zettel|Maximum number of zettel|127|65535\n|readonly|Allow only read operations|false|n/a\n|name|Unique name of the box|n/a|n/a\n\nThe default values provide reasonable limits for many applications.\n\nThe number of zettel is usually easy to estimate.\n\nThe number of bytes is usually more difficult to determine.\nA zettel requires 6 bytes for its identifier.\nEach metadata entry additionally requires the lengths of its key and value, plus a one-byte separator.\nContent contributes its size in bytes.\nFor text content, this is the size of its UTF-8 encoding.\n\nIf one of the limits is exceeded, Zettelstore returns HTTP status code 507 (Insufficient Storage).\n\nThe ''readonly'' parameter exists primarily to support the [[''read-only-mode''|00001004010000#read-only-mode]] startup configuration.\nSince a memory box is initially empty, enabling ''readonly'' effectively prevents the creation or modification of zettel."))