Can Streamlit Community Cloud recover a lost local SQLite file after a reboot/redeploy?

Hi Streamlit team/community,

I’m trying to find out whether there is any way to recover a local SQLite database file from a Streamlit Community Cloud app after a reboot/redeploy.

The app is a FIFA 2026 prediction tracker. It stored user predictions in a local SQLite file named predictions.sqlite3 in the app directory. After a code push/redeploy and app reboot, the prediction data disappeared. The app still runs, but the old prediction rows are gone.

I understand now that local files on Community Cloud may be ephemeral and should not be used as durable storage, but I’m hoping to confirm whether there is any possible recovery path, snapshot, cache, backup, or Streamlit-side support option for the previous app filesystem/container.

Deployment info:

Important repo detail:

  • There is currently no requirements.txt in the repo.
  • The lost file was predictions.sqlite3.
  • That SQLite file was not tracked by GitHub.
  • The app used Python’s built-in sqlite3 module through prediction_store.py.

Error message:

  • There is no Python traceback or visible Streamlit error.
  • The app loads successfully.
  • The problem is data loss: the previous SQLite rows are gone after reboot/redeploy.

Versions:

  • Local Python version: 3.11.7
  • Local Streamlit version: 1.58.0
  • Community Cloud version may not be pinned because the repo currently has no requirements file.

My questions:

  1. Does Streamlit Community Cloud keep any recoverable snapshot of an app’s local filesystem after reboot/redeploy?
  2. Is there any support-side way to recover a previous predictions.sqlite3 file from the app container?
  3. If not, can you confirm that local SQLite files on Community Cloud should be treated as ephemeral and not recoverable?
  4. For future use, is the recommended fix to move predictions to an external database such as Supabase, Neon/Postgres, Google Sheets, or another persistent service?

Thank you.

Hey there, thanks for the detailed question and welcome to the Streamlit community! :blush: Sorry to hear about your lost predictions data—that’s always a tough situation.

To answer your questions directly: Streamlit Community Cloud does not keep any recoverable snapshot, backup, or cache of your app’s local filesystem after a reboot or redeploy. Once the app restarts (for any reason: code push, system update, manual reboot, etc.), the container is reset and any files created or modified at runtime—including your predictions.sqlite3—are permanently lost. There’s no support-side option to recover these files, and only files tracked in your GitHub repo are restored on each deploy. Local files on Community Cloud are ephemeral and should not be used for persistent storage. For future-proofing, it’s strongly recommended to use an external, cloud-hosted database (like Supabase, Neon/Postgres, MySQL, MongoDB, or Google Sheets) for any data you want to persist across sessions and reboots. See the official Connecting to data docs for setup guides and best practices.

If you’d like step-by-step guidance on migrating your app to use a persistent database, just let us know! And if you have a minimum reproducible example or want help with code, please share your repo or code snippets so the community can jump in and help. Thanks for being part of the community, and don’t hesitate to ask more questions or share your learnings! :rocket:

Sources: