Exporting & Importing DB
If you need to migrate your Open WebUI data (e.g., chat histories, configurations, etc.) from one server to another or back it up for later use, you can export and import the database. This guide assumes you're running Open WebUI using the internal SQLite database (not PostgreSQL).
Follow the steps below to export and import the webui.db file, which contains your database.
Exporting Database
To export the database from your current Open WebUI instance:
-
Stop Open WebUI before copying the database: SQLite can use write-ahead logging (WAL), which may keep recent committed changes in sidecar files while the application is running. Stop the container first so the database is in a consistent state before export:
docker stop open-webui -
Use
docker cpto copy the database file: Thewebui.dbfile is located in the container inside the directory/app/backend/data. Run the following command to copy it into your local machine:docker cp open-webui:/app/backend/data/webui.db ./webui.db -
Start Open WebUI again on the source server:
docker start open-webui -
Transfer the exported file to the new server: You can use FileZilla or any other file transfer tool of your choice to move the
webui.dbfile to the new server.infoFileZilla is recommended for its ease of use when transferring files to the new server.
Importing Database
After moving the webui.db file to the new server, follow these steps:
-
Install and Run Open WebUI on the New Server: Set up and run Open WebUI using a Docker container. Follow the instructions provided in the 🚀 Getting Started to install and start the Open WebUI container. Once it's running, stop it before performing the import step.
docker stop open-webui -
Remove destination SQLite sidecar files: If the destination container has already created
webui.db-walorwebui.db-shm, remove those files before replacingwebui.db. They belong to the old destination database state and must not be mixed with the imported database.docker run --rm --volumes-from open-webui --entrypoint rm "$(docker inspect -f '{{.Config.Image}}' open-webui)" -f /app/backend/data/webui.db-wal /app/backend/data/webui.db-shm -
Use
docker cpto copy the database file to the container: Assuming the exportedwebui.dbfile is in your current working directory, copy it into the container:docker cp ./webui.db open-webui:/app/backend/data/webui.db -
Start the Open WebUI container: Start the container again to use the imported database.
docker start open-webuiThe new server should now be running Open WebUI with your imported database.
Notes
- This export/import process only works if you're using the internal SQLite database (
webui.db). - If you're using an external PostgreSQL database, this method is not applicable because the database is managed outside the container. For PostgreSQL, you'd need to follow PostgreSQL-specific tools and procedures to back up and restore your database.
- Do not mix
webui.db-walorwebui.db-shmfiles from a different database copy. When replacingwebui.dbon the destination, remove any existing destination sidecar files before starting Open WebUI.
Why It's Important
This approach is particularly useful when:
- Migrating your Open WebUI data to a new server or machine.
- Creating backups of your data before an update or modification.
- Testing Open WebUI on multiple servers with the same setup.
# Quick commands summary for export and import
# Export:
docker stop open-webui
docker cp open-webui:/app/backend/data/webui.db ./webui.db
docker start open-webui
# Stop container on the new server:
docker stop open-webui
# Import:
docker run --rm --volumes-from open-webui --entrypoint rm "$(docker inspect -f '{{.Config.Image}}' open-webui)" -f /app/backend/data/webui.db-wal /app/backend/data/webui.db-shm
docker cp ./webui.db open-webui:/app/backend/data/webui.db
# Start container:
docker start open-webuiWith these steps, you can easily manage your Open WebUI migration or backup process. Keep in mind the database format you're using to ensure compatibility.
Related Guides
- SQLite Database Overview - Detailed database schema and SQLCipher encryption setup
- Backups - Comprehensive backup strategies for your instance