{"id":2589,"date":"2025-02-21T11:58:54","date_gmt":"2025-02-21T03:58:54","guid":{"rendered":"https:\/\/www.ruianding.com\/blog\/?p=2589"},"modified":"2025-02-21T12:07:02","modified_gmt":"2025-02-21T04:07:02","slug":"docker-data-persistence-and-updating-open-webui-a-comprehensive-guide","status":"publish","type":"post","link":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/","title":{"rendered":"Docker Data Persistence and Updating Open-WebUI: A Comprehensive Guide"},"content":{"rendered":"\n<p>When deploying open-webui with Docker, ensuring that important data (such as chat history and configuration files) persists across container updates is crucial. In this guide, we&#8217;ll walk through how to use Docker volumes for data persistence, explain the official deployment command in detail, and answer the initial concern: <em><strong>Will updating open-webui erase my chat history?<\/strong><\/em> <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"671\" src=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14-1024x671.png\" alt=\"\" class=\"wp-image-2592\" style=\"width:412px;height:auto\" srcset=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14-1024x671.png 1024w, https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14-300x197.png 300w, https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14-768x503.png 768w, https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14.png 1202w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">1. The Initial Concern<\/h2>\n\n\n\n<p>I initially deployed open-webui by following the official documentation and running a single command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"dockerfile\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:\/app\/backend\/data --name open-webui --restart always ghcr.io\/open-webui\/open-webui:cuda<\/pre>\n\n\n\n<p>At the time, I didn\u2019t think much about it. Later, however, I wondered:<br><strong>If I update open-webui, will it wipe out my chat history and other data?<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Why Data Persistence Matters<\/h2>\n\n\n\n<p>By default, any data stored inside a Docker container is ephemeral. If you update or recreate the container, you risk losing that data. Using Docker volumes allows you to store data externally on the host machine. This means even if you remove or update the container, your data remains intact and can be reattached to a new container instance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Using Docker Volumes for Persistent Storage in open-webui<\/h2>\n\n\n\n<p>In the deployment command shown above, the parameter <code>-v open-webui:\/app\/backend\/data<\/code> plays a key role in persisting your data. Here\u2019s a breakdown:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"51\" src=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-15-1024x51.png\" alt=\"\" class=\"wp-image-2593\" srcset=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-15-1024x51.png 1024w, https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-15-300x15.png 300w, https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-15-768x38.png 768w, https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-15-1536x77.png 1536w, https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-15.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong><code><strong><code>-v open-webui:\/app\/backend\/data<\/code><\/strong><\/code><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>This mounts a Docker volume named <code>open-webui<\/code> to the container directory <code>\/app\/backend\/data<\/code>.<\/li>\n\n\n\n<li>If the volume <code>open-webui<\/code> does not exist, Docker automatically creates it.<\/li>\n\n\n\n<li>As a result, all data generated by open-webui (such as your chat logs) is stored in this volume. Even if you stop or remove the container, the data remains on your host in the volume, allowing you to reattach it to a new container.<\/li>\n<\/ul>\n\n\n\n<p><strong>Other Command Parameters Explained<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>docker run -d<\/code>: Runs the container in detached (background) mode.<\/li>\n\n\n\n<li><code>-p 3000:8080<\/code>: Maps port 3000 on the host to port 8080 in the container, allowing you to access open-webui via <code>localhost:3000<\/code>.<\/li>\n\n\n\n<li><code>--gpus all<\/code>: Grants the container access to all available GPUs, which is important for GPU-accelerated applications.<\/li>\n\n\n\n<li><code>--add-host=host.docker.internal:host-gateway<\/code>: Adds a host entry inside the container, facilitating communication with the host.<\/li>\n\n\n\n<li><code>--name open-webui<\/code>: Assigns the container the name \u201copen-webui.\u201d<\/li>\n\n\n\n<li><code>--restart always<\/code>: Ensures the container restarts automatically if it stops or the system reboots.<\/li>\n\n\n\n<li><code>ghcr.io\/open-webui\/open-webui:cuda<\/code>: Specifies the Docker image and tag to use. This image is built with CUDA support for GPU acceleration.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. Verifying Docker Volume Usage<\/h2>\n\n\n\n<p>To confirm that your open-webui container is using a Docker volume for data persistence, you can inspect the container details.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 Using the Full Inspect Command<\/h3>\n\n\n\n<p>Run the following command to view detailed container information:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker inspect open-webui\n<\/pre>\n\n\n\n<p>Then, look for the <code>Mounts<\/code> section in the output. You should see something similar to:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[\n  {\n    \"Type\": \"volume\",\n    \"Name\": \"open-webui\",\n    \"Source\": \"\/var\/lib\/docker\/volumes\/open-webui\/_data\",\n    \"Destination\": \"\/app\/backend\/data\",\n    \"Driver\": \"local\",\n    \"Mode\": \"z\",\n    \"RW\": true,\n    \"Propagation\": \"\"\n  }\n]\n<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 (Recommended) Using a Concise Command<\/h3>\n\n\n\n<p>For a more streamlined output, you can use:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker inspect --format='{{json .Mounts}}' open-webui<\/pre>\n\n\n\n<p>This command prints only the mount information in JSON format, making it easier to quickly verify that:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <strong>Type<\/strong> is <code>\"volume\"<\/code>.<\/li>\n\n\n\n<li>The <strong>Name<\/strong> is <code>open-webui<\/code>.<\/li>\n\n\n\n<li>The <strong>Destination<\/strong> is <code>\/app\/backend\/data<\/code>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"51\" src=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-16-1024x51.png\" alt=\"\" class=\"wp-image-2596\" srcset=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-16-1024x51.png 1024w, https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-16-300x15.png 300w, https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-16-768x38.png 768w, https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-16-1536x77.png 1536w, https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-16.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>This confirms that your chat history and other important data are stored in the Docker volume, ensuring that updates do not cause data loss.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Safely Updating open-webui<\/h2>\n\n\n\n<p>Because your data is stored externally via the Docker volume, updating open-webui will not delete your chat history. Here\u2019s how you can safely update the container:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Stop the Existing Container<\/strong> <code>docker stop open-webui<\/code><\/li>\n\n\n\n<li><strong>Remove the Old Container<\/strong> <code>docker rm open-webui<\/code><\/li>\n\n\n\n<li><strong>Pull the Latest Image<\/strong> <code>docker pull ghcr.io\/open-webui\/open-webui:cuda<\/code><\/li>\n\n\n\n<li><strong>Start a New Container with the Same Volume<\/strong> <code>docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:\/app\/backend\/data --name open-webui --restart always ghcr.io\/open-webui\/open-webui:cuda<\/code><\/li>\n<\/ol>\n\n\n\n<p>Since the new container uses the same <code>open-webui<\/code> volume mounted to <code>\/app\/backend\/data<\/code>, your data remains available and intact.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Conclusion<\/h2>\n\n\n\n<p>By using Docker volumes, open-webui stores its data outside the container, ensuring that updates or container recreations do not lead to data loss. The deployment command provided by the open-webui documentation is designed to create and mount a persistent volume, as verified by the inspection commands. This approach gives you the confidence to update your application <strong>without worrying about losing chat history or other critical data.<\/strong><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When deploying open-webui with Docker, ensuring that important data (such as chat history and configuration files) persists across container updates is crucial. In this guide, we&#8217;ll walk through how to use Docker volumes for data persistence, explain the official deployment command in detail, and answer the initial concern: Will updating open-webui erase my chat history? [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[66],"tags":[],"class_list":["post-2589","post","type-post","status-publish","format-standard","hentry","category-docker"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Docker Data Persistence and Updating Open-WebUI: A Comprehensive Guide - \u6781\u7b80IT\uff5cSimpleIT<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker Data Persistence and Updating Open-WebUI: A Comprehensive Guide - \u6781\u7b80IT\uff5cSimpleIT\" \/>\n<meta property=\"og:description\" content=\"When deploying open-webui with Docker, ensuring that important data (such as chat history and configuration files) persists across container updates is crucial. In this guide, we&#8217;ll walk through how to use Docker volumes for data persistence, explain the official deployment command in detail, and answer the initial concern: Will updating open-webui erase my chat history? [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"\u6781\u7b80IT\uff5cSimpleIT\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-21T03:58:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-21T04:07:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1202\" \/>\n\t<meta property=\"og:image:height\" content=\"788\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ruian Ding\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ruian Ding\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/\"},\"author\":{\"name\":\"Ruian Ding\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b\"},\"headline\":\"Docker Data Persistence and Updating Open-WebUI: A Comprehensive Guide\",\"datePublished\":\"2025-02-21T03:58:54+00:00\",\"dateModified\":\"2025-02-21T04:07:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/\"},\"wordCount\":602,\"publisher\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b\"},\"image\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14-1024x671.png\",\"articleSection\":[\"Docker\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/\",\"url\":\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/\",\"name\":\"Docker Data Persistence and Updating Open-WebUI: A Comprehensive Guide - \u6781\u7b80IT\uff5cSimpleIT\",\"isPartOf\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14-1024x671.png\",\"datePublished\":\"2025-02-21T03:58:54+00:00\",\"dateModified\":\"2025-02-21T04:07:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#primaryimage\",\"url\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14.png\",\"contentUrl\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14.png\",\"width\":1202,\"height\":788},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.ruianding.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker Data Persistence and Updating Open-WebUI: A Comprehensive Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/#website\",\"url\":\"https:\/\/www.ruianding.com\/blog\/\",\"name\":\"Ruian's Tech Troubleshooting Toolbox\",\"description\":\"Debug the World.\",\"publisher\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b\"},\"alternateName\":\"\u4e01\u777f\u5b89\u7684\u6280\u672f\u5206\u4eab\u535a\u5ba2\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.ruianding.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b\",\"name\":\"Ruian Ding\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/05\/logo.png\",\"contentUrl\":\"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/05\/logo.png\",\"width\":284,\"height\":284,\"caption\":\"Ruian Ding\"},\"logo\":{\"@id\":\"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"I am currently a Support Specialist at NIO, focusing on cloud-related issues for NIO Power. Previously, at Microsoft Entra ID, I specialized in identity and access management (IAM), including device registration, Windows Hello for Business (WHfB), multi-factor authentication (MFA), and single sign-on (SSO). In addition to my core expertise, I have a strong foundation in Active Directory, Servers, Cloud Computing, Network Administration, and Front-end Web Development. This diverse technical skill set enables me to effectively handle a wide range of challenges in a fast-paced IT environment.\",\"sameAs\":[\"https:\/\/www.ruianding.com\"],\"url\":\"https:\/\/www.ruianding.com\/blog\/author\/ruiand\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker Data Persistence and Updating Open-WebUI: A Comprehensive Guide - \u6781\u7b80IT\uff5cSimpleIT","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/","og_locale":"en_US","og_type":"article","og_title":"Docker Data Persistence and Updating Open-WebUI: A Comprehensive Guide - \u6781\u7b80IT\uff5cSimpleIT","og_description":"When deploying open-webui with Docker, ensuring that important data (such as chat history and configuration files) persists across container updates is crucial. In this guide, we&#8217;ll walk through how to use Docker volumes for data persistence, explain the official deployment command in detail, and answer the initial concern: Will updating open-webui erase my chat history? [&hellip;]","og_url":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/","og_site_name":"\u6781\u7b80IT\uff5cSimpleIT","article_published_time":"2025-02-21T03:58:54+00:00","article_modified_time":"2025-02-21T04:07:02+00:00","og_image":[{"width":1202,"height":788,"url":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14.png","type":"image\/png"}],"author":"Ruian Ding","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ruian Ding","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#article","isPartOf":{"@id":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/"},"author":{"name":"Ruian Ding","@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b"},"headline":"Docker Data Persistence and Updating Open-WebUI: A Comprehensive Guide","datePublished":"2025-02-21T03:58:54+00:00","dateModified":"2025-02-21T04:07:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/"},"wordCount":602,"publisher":{"@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b"},"image":{"@id":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14-1024x671.png","articleSection":["Docker"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/","url":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/","name":"Docker Data Persistence and Updating Open-WebUI: A Comprehensive Guide - \u6781\u7b80IT\uff5cSimpleIT","isPartOf":{"@id":"https:\/\/www.ruianding.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14-1024x671.png","datePublished":"2025-02-21T03:58:54+00:00","dateModified":"2025-02-21T04:07:02+00:00","breadcrumb":{"@id":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#primaryimage","url":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14.png","contentUrl":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2025\/02\/image-14.png","width":1202,"height":788},{"@type":"BreadcrumbList","@id":"https:\/\/www.ruianding.com\/blog\/docker-data-persistence-and-updating-open-webui-a-comprehensive-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.ruianding.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Docker Data Persistence and Updating Open-WebUI: A Comprehensive Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.ruianding.com\/blog\/#website","url":"https:\/\/www.ruianding.com\/blog\/","name":"Ruian's Tech Troubleshooting Toolbox","description":"Debug the World.","publisher":{"@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b"},"alternateName":"\u4e01\u777f\u5b89\u7684\u6280\u672f\u5206\u4eab\u535a\u5ba2","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ruianding.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/440d88575b7dc819a4cefc8c4199db3b","name":"Ruian Ding","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/05\/logo.png","contentUrl":"https:\/\/www.ruianding.com\/blog\/wp-content\/uploads\/2023\/05\/logo.png","width":284,"height":284,"caption":"Ruian Ding"},"logo":{"@id":"https:\/\/www.ruianding.com\/blog\/#\/schema\/person\/image\/"},"description":"I am currently a Support Specialist at NIO, focusing on cloud-related issues for NIO Power. Previously, at Microsoft Entra ID, I specialized in identity and access management (IAM), including device registration, Windows Hello for Business (WHfB), multi-factor authentication (MFA), and single sign-on (SSO). In addition to my core expertise, I have a strong foundation in Active Directory, Servers, Cloud Computing, Network Administration, and Front-end Web Development. This diverse technical skill set enables me to effectively handle a wide range of challenges in a fast-paced IT environment.","sameAs":["https:\/\/www.ruianding.com"],"url":"https:\/\/www.ruianding.com\/blog\/author\/ruiand\/"}]}},"_links":{"self":[{"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/posts\/2589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/comments?post=2589"}],"version-history":[{"count":3,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/posts\/2589\/revisions"}],"predecessor-version":[{"id":2597,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/posts\/2589\/revisions\/2597"}],"wp:attachment":[{"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/media?parent=2589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/categories?post=2589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ruianding.com\/blog\/wp-json\/wp\/v2\/tags?post=2589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}