diff --git a/docs/getting-started/env-configuration.mdx b/docs/getting-started/env-configuration.mdx index 18141487..7c20b096 100644 --- a/docs/getting-started/env-configuration.mdx +++ b/docs/getting-started/env-configuration.mdx @@ -5382,6 +5382,14 @@ Ensure the database password is kept secure, as it is needed to decrypt and acce ::: +:::warning Migrating Existing Data to SQLCipher + +**Open WebUI does not support automatic migration from an unencrypted SQLite database to an encrypted SQLCipher database.** If you enable SQLCipher on an existing installation, the application will fail to read your existing unencrypted data. + +To use SQLCipher with existing data, you must either start fresh (with users exporting/re-importing chats), manually migrate the database using external SQLite/SQLCipher tools, use filesystem-level encryption (LUKS/BitLocker) instead, or switch to PostgreSQL. + +::: + #### `DATABASE_SCHEMA` - Type: `str` diff --git a/docs/tutorials/tips/sqlite-database.md b/docs/tutorials/tips/sqlite-database.md index 9a4e8a87..3b81db5a 100644 --- a/docs/tutorials/tips/sqlite-database.md +++ b/docs/tutorials/tips/sqlite-database.md @@ -764,6 +764,19 @@ When these are set and a full `DATABASE_URL` is **not** explicitly defined, Open ::: +:::warning Migrating Existing Data to SQLCipher + +**Open WebUI does not support automatic migration from an unencrypted SQLite database to an encrypted SQLCipher database.** If you enable SQLCipher on an existing installation, the application will fail to read your existing unencrypted data. + +To use SQLCipher with existing data, you must either: + +1. **Start fresh** - Enable SQLCipher on a new installation and have users export/re-import their chats manually +2. **Manual database migration** - Use external SQLite/SQLCipher tools to export data from the unencrypted database and import it into a new encrypted database (advanced users only) +3. **Use filesystem-level encryption** - Consider alternatives like LUKS (Linux) or BitLocker (Windows) for at-rest encryption without database-level changes +4. **Switch to PostgreSQL** - For multi-user deployments, PostgreSQL with TLS provides encryption in transit and can be combined with encrypted storage + +::: + ### Related Database Environment Variables | Variable | Default | Description |