Skip to content

Update docs for SQLite warning - #295

Open
ItalyPaleAle wants to merge 2 commits into
pocket-id:mainfrom
ItalyPaleAle:sqlite-warn
Open

Update docs for SQLite warning#295
ItalyPaleAle wants to merge 2 commits into
pocket-id:mainfrom
ItalyPaleAle:sqlite-warn

Conversation

@ItalyPaleAle

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor
built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
pocket-id-website ✅ Ready (View Log) Visit Preview 8ed8b31

Comment thread docs/configuration/environment-variables.md
Comment on lines +69 to +82
> **Do NOT store SQLite inside a networked filesystem**, such as a NFS or SMB share, or a filesystem mounted via FUSE.
> SQLite is [not designed](https://www.sqlite.org/useovernet.html) to be stored inside networked filesystems, and doing so can cause your database to be corrupted. Because of that, Pocket ID does not support using SQLite on a NFS/SMB share or another networked filesystem.
>
> We have received reports from Pocket ID users who experienced a range of issues with SQLite on a networked filesystems, including:
>
> - Database operations getting stuck indefinitely
> - Pocket ID crashing multiple times per day
> - Irrecoverable database corruption
>
> If you absolutely must, some users have found that modifying the connection string `DB_CONNECTION_STRING` to disable journaling (setting `_journal_mode=DELETE`) and limiting to one concurrent connection (`_maxconn=1`) may help. However, treat these as experimental and not guaranteed to succeed. This scenario continues to be unsupported by Pocket ID, and maintainers will not be able to assist with problems. You should also make sure to have recurring backups of your database.
>
> Pocket ID will detect if the SQLite database is stored on a networked filesystem and will show a persistent warning in the admin UI. If you're aware of the risks and want to suppress it, set `DISMISS_SQLITE_STORAGE_WARNING=I accept the risks`
>
> (Note that this limitation does not apply to block devices mounted from a SAN via iSCSI or a similar protocol, and formatted with a standard filesystem like Ext4 or XFS, which remain supported natively)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> **Do NOT store SQLite inside a networked filesystem**, such as a NFS or SMB share, or a filesystem mounted via FUSE.
> SQLite is [not designed](https://www.sqlite.org/useovernet.html) to be stored inside networked filesystems, and doing so can cause your database to be corrupted. Because of that, Pocket ID does not support using SQLite on a NFS/SMB share or another networked filesystem.
>
> We have received reports from Pocket ID users who experienced a range of issues with SQLite on a networked filesystems, including:
>
> - Database operations getting stuck indefinitely
> - Pocket ID crashing multiple times per day
> - Irrecoverable database corruption
>
> If you absolutely must, some users have found that modifying the connection string `DB_CONNECTION_STRING` to disable journaling (setting `_journal_mode=DELETE`) and limiting to one concurrent connection (`_maxconn=1`) may help. However, treat these as experimental and not guaranteed to succeed. This scenario continues to be unsupported by Pocket ID, and maintainers will not be able to assist with problems. You should also make sure to have recurring backups of your database.
>
> Pocket ID will detect if the SQLite database is stored on a networked filesystem and will show a persistent warning in the admin UI. If you're aware of the risks and want to suppress it, set `DISMISS_SQLITE_STORAGE_WARNING=I accept the risks`
>
> (Note that this limitation does not apply to block devices mounted from a SAN via iSCSI or a similar protocol, and formatted with a standard filesystem like Ext4 or XFS, which remain supported natively)
> **Do NOT store SQLite inside a networked filesystem**, such as a NFS or SMB share, or a filesystem mounted via FUSE.
> SQLite is [not designed](https://www.sqlite.org/useovernet.html) to be stored inside networked filesystems, and doing so can cause your database to be corrupted. Because of that, Pocket ID does not support using SQLite on a NFS/SMB share or another networked filesystem.
>
> If you absolutely must, some users have found that modifying the connection string `DB_CONNECTION_STRING` to disable journaling (setting `_journal_mode=DELETE`) and limiting to one concurrent connection (`_maxconn=1`) may help. However, treat these as experimental and not guaranteed to succeed.
>
> Pocket ID will detect if the SQLite database is stored on a networked filesystem and will show a persistent warning in the admin UI. If you're aware of the risks and want to suppress it, set `DISMISS_SQLITE_STORAGE_WARNING=I accept the risks`

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ItalyPaleAle What do you think about this one? You can also rewrite it if you don't like my suggestion I just feel like this section shouldn't take that much space.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants