- Rename Twenty DB from 'default' to 'twenty_db' (reserved keyword)
- Quote all identifiers in setup_postgresql_db with double quotes
to prevent SQL syntax errors with reserved words
- Add ct/twenty.sh with update function
- Add install/twenty-install.sh (Node.js 24, PostgreSQL 16, Redis)
- Add frontend/public/json/twenty.json metadata
- Builds from source: yarn + nx monorepo (server + frontend)
- Server on port 3000, worker as separate systemd service
Increase Zerobyte VM defaults (CPU 2→4, RAM 4096→6192). Add a debconf preseed for davfs2 (suid_file=false) to prevent interactive prompts during apt install. Remove redundant mkdir/cp of drizzle migrations and instead expose MIGRATIONS_PATH (/opt/zerobyte/app/drizzle) in the installer environment so migrations are referenced in-place rather than duplicated.
Introduce Zerobyte support: add LXC container installer (install/zerobyte-install.sh), container template/update script (ct/zerobyte.sh), and frontend metadata (frontend/public/json/zerobyte.json). Update docs (docs/AI.md) to require explicit "tarball" mode for fetch_and_deploy_gh_release, add helper notes and best-practices, and include a new get_latest_github_release usage. Also switch the shellscript formatter in .vscode/settings.json to foxundermoon.shell-format. The installer fetches required binaries (restic, rclone, shoutrrr), installs Bun, builds Zerobyte, configures a systemd service, and prepares runtime directories and env config.
Replace the previous `pip install calibreweb` and `uv sync` steps with explicit upgrades of pip/setuptools/wheel and installing dependencies from requirements.txt. If present, optional-requirements.txt is installed as well. Changes applied to both the installer and container update scripts to provide clearer, reproducible dependency management.
Remove the conditional retry logic and always run the venv creation, pip install of calibreweb, and uv sync without build isolation. Updated ct/calibre-web.sh and install/calibre-web-install.sh to: run `$STD uv venv`, `$STD uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir calibreweb`, then `$STD uv sync --no-dev --no-build-isolation`. This simplifies the dependency installation flow and ensures the virtualenv and package are installed before syncing.