docs: update README database section for multi-DB support

Replace single-DB rationale with description of all four supported
backends (sqlite3, mysql, postgres, mssql) and how the toolkit
handles each.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
S
2026-03-01 10:20:03 -05:00
parent ba1a373ec9
commit 2a89c49733

View File

@@ -122,9 +122,9 @@ Docker Desktop on macOS is heavyweight (~4 GB), requires a commercial license fo
Every operation checks if its target already exists before creating it. This is simpler to implement in bash and easier to debug — you can see exactly which step was skipped vs executed. The trade-off is that it cannot detect drift (e.g., someone manually changed a Gitea setting between runs). For a one-time migration, drift detection adds complexity without value.
### Why SQLite instead of PostgreSQL/MySQL?
### Database support
The target workload is 3 repos with a handful of users. SQLite handles this with zero operational overhead — no separate database container, no connection strings, no backup coordination. The Gitea instance can be backed up by copying a single file. If the workload grows, migrating to PostgreSQL later is a Gitea admin operation, not a re-migration.
All four Gitea-supported database backends are available: `sqlite3`, `mysql`, `postgres`, and `mssql`. Set `GITEA_DB_TYPE` in `.env` — sqlite3 is the default and needs no additional configuration. For external databases, the toolkit deploys a containerized database alongside Gitea (PostgreSQL 16, MySQL 8.0, or MSSQL 2022) with health checks, and the wizard prompts for connection details (host, port, name, user, password) only when needed. Backup/restore handles SQL dump import into the correct database engine.
### Why Nginx reverse proxy instead of Caddy/Traefik?