Technical notes pecl install luasandbox\\ [[https://www.php.net/manual/en/luasandbox.examples-basic.php|https://www.php.net/manual/en/luasandbox.examples-basic.php]]\\ \\ Lua sandbox example\\ [[https://www.php.net/manual/en/luasandbox.examples-basic.php|https://www.php.net/manual/en/luasandbox.examples-basic.php]] ===== Storage ===== * Folders, Memos and Blobs are represented on disk as "Shard" and have address produced by hashing their content. This allows deduplication and (in the future) search for content by hash * Folders and Memos have mandatory Name and Parent field that is used by apps for lookups * "Public" area is separated from from private storage and contains either hashes or blobs * Cache servers store additional data for each ==== Misc ==== * [[https://maps.google.com/pluscodes/|plus codes]] for geolocation ====== Installation ====== apt install libapache2-mod-php8.3 php-pear php-dev lua5.1 liblua5.1-dev \\ pecl install LuaSandbox \\ echo extension=luasandbox.so > /etc/php/8.3/apache2/conf.d/99-luasandbox.ini \\ echo extension=luasandbox.so > /etc/php/8.3/cli/conf.d/99-luasandbox.ini ===== Architecture overview ===== Site daemon announces "callbacks"