Force archive the following proposals: - add-audio-device-selector (complete) - add-embedded-backend-packaging (19/26 tasks) - add-flexible-deployment-options (20/21 tasks) New specs created: - audio-device-management (7 requirements) - embedded-backend (8 requirements) Updated specs: - transcription (+2 requirements for model download progress) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
19 lines
1.1 KiB
Markdown
19 lines
1.1 KiB
Markdown
# Change: Add Flexible Deployment Options
|
|
|
|
## Why
|
|
Enterprise deployment environments vary significantly. Some networks block MySQL port 33306, preventing access to cloud databases. Additionally, the current portable executable extracts to a random folder in `%TEMP%`, causing Windows Defender warnings on each launch and potential permission issues.
|
|
|
|
## What Changes
|
|
- **SQLite database support** - Allow choosing between MySQL (cloud) and SQLite (local) databases at build time via `--database-type` parameter
|
|
- **Fixed portable extraction path** - Configure `unpackDirName` to use a predictable folder name instead of random UUID
|
|
|
|
## Impact
|
|
- Affected specs: `embedded-backend` (modified)
|
|
- Affected code:
|
|
- `client/config.json` - Add `database.type` and `database.sqlitePath` fields
|
|
- `client/package.json` - Add `unpackDirName` to portable configuration
|
|
- `backend/app/config.py` - Add `DB_TYPE` and `SQLITE_PATH` settings
|
|
- `backend/app/database.py` - Conditional SQLite/MySQL initialization
|
|
- `backend/run_server.py` - Pass database type environment variables
|
|
- `scripts/build-client.bat` - Add `--database-type` parameter
|