{"id":144456,"date":"2026-05-21T15:18:40","date_gmt":"2026-05-21T15:18:40","guid":{"rendered":"\/au\/tutorials\/open-webui-docker"},"modified":"2026-05-21T15:18:40","modified_gmt":"2026-05-21T15:18:40","slug":"open-webui-docker","status":"publish","type":"post","link":"\/au\/tutorials\/open-webui-docker","title":{"rendered":"How to run your own AI chat workspace with Open WebUI and Docker"},"content":{"rendered":"<p>Open WebUI Docker setup lets you run a private AI chat workspace on your own server. By deploying Open WebUI as a Docker container, you get a browser-based interface for chatting with AI models, managing conversations, uploading documents, and giving selected users access to the same workspace.<\/p><p>To run Open WebUI with Docker:<\/p><ol class=\"wp-block-list\">\n<li>Prepare a VPS or local machine with Docker installed.<\/li>\n\n\n\n<li>Deploy Open WebUI using Hostinger&rsquo;s Docker template or a manual Docker command.<\/li>\n\n\n\n<li>Connect Open WebUI to a model provider, such as Ollama, Docker Model Runner, or an OpenAI-compatible API.<\/li>\n\n\n\n<li>Create the first admin account in the Open WebUI dashboard.<\/li>\n\n\n\n<li>Secure the workspace with authentication, persistent storage, and VPS-level protection before using it remotely.<\/li>\n<\/ol><p>This guide explains how to deploy Open WebUI with Hostinger&rsquo;s Docker template, install it manually with Docker, connect AI models, and use the setup as a private AI chat workspace.<\/p><h2 class=\"wp-block-heading\" id=\"h-what-do-you-need-to-run-open-webui-with-docker\">What do you need to run Open WebUI with Docker?<\/h2><p>To run Open WebUI with Docker, you need a <a href=\"\/au\/tutorials\/how-to-install-docker-on-ubuntu\">VPS with Docker installed<\/a>, a free port for the web interface, persistent storage for Open WebUI data, and an AI model provider such as Ollama, Docker Model Runner, or an OpenAI-compatible API.<\/p><p>Open WebUI works as the chat interface, while the connected model provider generates the responses. For a private AI workspace, use a self-hosted model provider when you want prompts and conversations to stay closer to your own infrastructure.<\/p><p>Before starting, prepare:<\/p><ol class=\"wp-block-list\">\n<li>A server or local machine with Docker installed.<\/li>\n\n\n\n<li>A Docker volume for saving users, chats, settings, and uploaded files.<\/li>\n\n\n\n<li>A model provider endpoint, such as Ollama or Docker Model Runner.<\/li>\n\n\n\n<li>Browser access to the Open WebUI port (usually 3000).<\/li>\n\n\n\n<li>Admin login details for the first Open WebUI account.<\/li>\n<\/ol><p>A <a href=\"\/au\/vps\">VPS<\/a> is the better option if you want the workspace to stay online and accessible from multiple devices. Local installation works for testing, but the interface only remains available while your computer is running.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-deploy-open-webui-with-hostingers-docker-template\">How to deploy Open WebUI with Hostinger&rsquo;s Docker template<\/h2><p>The fastest way to <a href=\"\/au\/vps\/docker\/open-webui\">deploy Open WebUI <\/a>is to use Hostinger&rsquo;s Docker template. It sets up Open WebUI on a VPS so you can access the AI chat interface in a browser without manually creating a Docker container first.<\/p><p>To deploy Open WebUI on Hostinger:<\/p><ol class=\"wp-block-list\">\n<li>Go to Hostinger&rsquo;s <strong>Open WebUI Docker template<\/strong> page.<\/li>\n\n\n\n<li>Choose a VPS plan for your workspace.<\/li>\n\n\n\n<li>Click <strong>Deploy<\/strong>.<\/li>\n\n\n\n<li>Complete the VPS checkout and setup process.<\/li>\n\n\n\n<li>Wait for Hostinger to install the Open WebUI template.<\/li>\n\n\n\n<li>Open the Open WebUI dashboard from your VPS IP address or assigned URL.<\/li>\n\n\n\n<li>Create the first admin account.<\/li>\n\n\n\n<li>Connect Open WebUI to a model provider, such as Ollama, Docker Model Runner, or an OpenAI-compatible API.<\/li>\n<\/ol><p>Hostinger recommends the <strong>KVM 2<\/strong> VPS plan for Open WebUI, which includes <strong>2 vCPU cores, 8 GB RAM, 100 GB NVMe storage, and 8 TB bandwidth<\/strong>. This is enough for running the Open WebUI interface and storing workspace data, but larger local AI models may need more resources.<\/p><p>After deployment, Open WebUI works as the browser-based control panel for your private AI chat workspace. The interface stores users, conversations, uploaded documents, model settings, and custom prompts on your VPS. The actual AI responses come from the model provider you connect after installation.<\/p><p>Use this template if you want an always-on Open WebUI workspace without building the Docker setup manually. The manual Docker method is better if you want full control over ports, volumes, environment variables, or model runtime configuration.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-install-open-webui-manually-with-docker\">How to install Open WebUI manually with Docker<\/h2><p>You can install Open WebUI manually by running its Docker container and mapping it to a browser-accessible port. This method gives you more control over storage, ports, restart rules, and model provider settings than a template-based deployment.<\/p><h3 class=\"wp-block-heading\">1. Run Open WebUI with a Docker command<\/h3><p>Run the Open WebUI container from your server terminal:<\/p><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 run -d\n--name open-webui\n-p 3000:8080\n-v open-webui:\/app\/backend\/data\n--restart always\nghcr.io\/open-webui\/open-webui:main<\/pre><p>This command creates an Open WebUI container, exposes the interface on port 3000, and stores workspace data in a persistent Docker volume.<\/p><p>The most important options are:<\/p><ul class=\"wp-block-list\">\n<li>&ndash;name open-webui assigns a readable name to the container.<\/li>\n\n\n\n<li>-p 3000:8080 makes Open WebUI available through port 3000.<\/li>\n\n\n\n<li>-v open-webui:\/app\/backend\/data saves users, chats, settings, and uploaded files outside the temporary container filesystem.<\/li>\n\n\n\n<li>&ndash;restart always restarts Open WebUI automatically after a server reboot.<\/li>\n\n\n\n<li>ghcr.io\/open-webui\/open-webui:main pulls the official Open WebUI image.<\/li>\n<\/ul><h3 class=\"wp-block-heading\">2. Run Open WebUI with Docker Compose<\/h3><p>Use <a href=\"\/au\/tutorials\/what-is-docker-compose\">Docker Compose<\/a> if you want a cleaner long-term setup. Docker Compose keeps ports, volumes, and restart policies in a single configuration file, making future changes easier.<\/p><p>Create a docker-compose.yml file:<\/p><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=\"\">services:\nopen-webui:\nimage: ghcr.io\/open-webui\/open-webui:main\ncontainer_name: open-webui\nports:\n- \"3000:8080\"\nvolumes:\n- open-webui:\/app\/backend\/data\nrestart: always\nvolumes:\nopen-webui:<\/pre><p>Then start Open WebUI:<\/p><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 compose up -d<\/pre><p>To confirm that the container is running, use:<\/p><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 ps<\/pre><p>The open-webui container should appear in the list of running containers.<\/p><h3 class=\"wp-block-heading\">3. Open the Open WebUI dashboard<\/h3><p>After the container starts, open Open WebUI in your browser:<\/p><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=\"\">http:\/\/your-server-ip:3000<\/pre><p>Replace your-server-ip with your VPS IP address. On the first visit, Open WebUI asks you to create the first admin account.<\/p><p>This admin account controls workspace settings, users, model connections, and access permissions. After creating it, connect Open WebUI to a model provider such as Ollama, Docker Model Runner, or an OpenAI-compatible API so the chat interface can generate responses.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-connect-open-webui-to-an-ai-model-provider\">How to connect Open WebUI to an AI model provider<\/h2><p>Open WebUI provides the chat interface, but it needs a model provider to generate responses. You can connect it to a local provider, such as Ollama or Docker Model Runner, or use an OpenAI-compatible API for cloud-hosted models.<\/p><h3 class=\"wp-block-heading\">Connect Open WebUI to Ollama<\/h3><p><a href=\"\/au\/tutorials\/what-is-ollama\">Ollama<\/a> is a common option for running local large language models with Open WebUI. Use it if you want to keep the model runtime on your own server or local machine.<\/p><p>First, make sure <a href=\"\/au\/tutorials\/how-to-install-ollama\">Ollama is installed<\/a> and running on the same server as Open WebUI. Then pull a model:<\/p><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=\"\">ollama pull llama3.2<\/pre><p>If Open WebUI runs in Docker and Ollama runs on the host machine, start Open WebUI with the Ollama base URL:<\/p><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 run -d\n--name open-webui\n-p 3000:8080\n-v open-webui:\/app\/backend\/data\n-e OLLAMA_BASE_URL=http:\/\/host.docker.internal:11434\n--add-host=host.docker.internal:host-gateway\n--restart always\nghcr.io\/open-webui\/open-webui:main<\/pre><p>For Docker Compose, add the same environment variable:<\/p><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=\"\">services:\nopen-webui:\nimage: ghcr.io\/open-webui\/open-webui:main\ncontainer_name: open-webui\nports:\n- \"3000:8080\"\nvolumes:\n- open-webui:\/app\/backend\/data\nenvironment:\n- OLLAMA_BASE_URL=http:\/\/host.docker.internal:11434\nextra_hosts:\n- \"host.docker.internal:host-gateway\"\nrestart: always\nvolumes:\nopen-webui:<\/pre><p>After restarting Open WebUI, open the dashboard and check whether the pulled Ollama model appears in the model selector.<\/p><h3 class=\"wp-block-heading\">Connect Open WebUI to Docker Model Runner<\/h3><p>Docker Model Runner lets you run AI models through Docker and connect them to Open WebUI. This option is useful if you want to keep both the application and model runtime inside a Docker-based workflow.<\/p><p>First, pull a model with Docker Model Runner:<\/p><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 model pull ai\/llama3.2<\/pre><p>Then configure Open WebUI to use the Docker Model Runner endpoint. In Docker Compose, add the model runner URL as the Ollama base URL:<\/p><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=\"\">services:\nopen-webui:\nimage: ghcr.io\/open-webui\/open-webui:main\ncontainer_name: open-webui\nports:\n- \"3000:8080\"\nvolumes:\n- open-webui:\/app\/backend\/data\nenvironment:\n- OLLAMA_BASE_URL=http:\/\/host.docker.internal:12434\/engines\/llama.cpp\nextra_hosts:\n- \"host.docker.internal:host-gateway\"\nrestart: always\nvolumes:\nopen-webui:<\/pre><p>Restart Open WebUI after updating the Compose file:<\/p><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 compose down\ndocker compose up -d<\/pre><p>Open the dashboard again and select the model from the chat interface. If the model does not appear, confirm that Docker Model Runner is enabled, the model is pulled, and the endpoint is reachable from the Open WebUI container.<\/p><h3 class=\"wp-block-heading\">Connect Open WebUI to an OpenAI-compatible API<\/h3><p>Use an OpenAI-compatible API if you want Open WebUI to access cloud-hosted models or a remote model gateway. This setup is useful when your VPS lacks sufficient resources for local models.<\/p><p>In the Open WebUI dashboard:<\/p><ol class=\"wp-block-list\">\n<li>Open the admin settings.<\/li>\n\n\n\n<li>Go to the model or connection settings.<\/li>\n\n\n\n<li>Add the API base URL.<\/li>\n\n\n\n<li>Add the API key.<\/li>\n\n\n\n<li>Save the provider settings.<\/li>\n\n\n\n<li>Start a new chat and select the connected model.<\/li>\n<\/ol><p>You can also configure API access with environment variables when starting the container:<\/p><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 run -d\n--name open-webui\n-p 3000:8080\n-v open-webui:\/app\/backend\/data\n-e OPENAI_API_KEY=your-api-key\n-e OPENAI_API_BASE_URL=https:\/\/api.example.com\/v1\n--restart always\nghcr.io\/open-webui\/open-webui:main<\/pre><p>Replace your-api-key and https:\/\/api.example.com\/v1 with the details from your model provider.<\/p><p>For a private AI workspace, local providers give you more control over where prompts and responses are processed. Cloud APIs can provide stronger models, but requests may leave your server depending on the provider&rsquo;s infrastructure and data policy.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-use-open-webui-as-a-private-ai-chat-workspace\">How to use Open WebUI as a private AI chat workspace<\/h2><p>After deployment, Open WebUI works as a browser-based workspace for chatting with AI models, managing conversations, and using private files as context. Since the interface runs on your VPS, you control where the workspace is hosted, who can access it, and which model providers it connects to.<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td colspan=\"1\" rowspan=\"1\"><p><strong>Use case<\/strong><\/p><\/td><td colspan=\"1\" rowspan=\"1\"><p><strong>How Open WebUI supports it<\/strong><\/p><\/td><\/tr><tr><td colspan=\"1\" rowspan=\"1\"><p><span>Private AI chat<\/span><\/p><\/td><td colspan=\"1\" rowspan=\"1\"><p><span>Runs the chat interface on user-controlled infrastructure instead of a third-party web app.<\/span><\/p><\/td><\/tr><tr><td colspan=\"1\" rowspan=\"1\"><p><span>Internal knowledge assistant<\/span><\/p><\/td><td colspan=\"1\" rowspan=\"1\"><p><span>Uses retrieval-augmented generation (RAG) to answer questions from uploaded documents.<\/span><\/p><\/td><\/tr><tr><td colspan=\"1\" rowspan=\"1\"><p><span>Developer workspace<\/span><\/p><\/td><td colspan=\"1\" rowspan=\"1\"><p><span>Helps with code explanations, debugging, command generation, and technical troubleshooting.<\/span><\/p><\/td><\/tr><tr><td colspan=\"1\" rowspan=\"1\"><p><span>Research assistant<\/span><\/p><\/td><td colspan=\"1\" rowspan=\"1\"><p><span>Summarizes long documents, compares model outputs, and keeps research conversations organized.<\/span><\/p><\/td><\/tr><tr><td colspan=\"1\" rowspan=\"1\"><p><span>Team AI portal<\/span><\/p><\/td><td colspan=\"1\" rowspan=\"1\"><p><span>Supports user accounts, role-based access, shared workspace settings, and conversation history.<\/span><\/p><\/td><\/tr><tr><td colspan=\"1\" rowspan=\"1\"><p><span>Multi-model workspace<\/span><\/p><\/td><td colspan=\"1\" rowspan=\"1\"><p><span>Lets you connect different local or cloud model providers and switch between them from one interface.<\/span><\/p><\/td><\/tr><\/tbody><\/table><\/figure><p>This setup is especially useful for teams and privacy-conscious users who want a ChatGPT-like interface without having to split every workflow across separate hosted tools. For the strongest privacy setup, connect Open WebUI to a local model provider and restrict public access to the dashboard.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-secure-your-open-webui-workspace\">How to secure your Open WebUI workspace<\/h2><p>Secure your Open WebUI workspace before exposing it through a public IP address or domain. At minimum, enable authentication, protect the admin account, restrict unnecessary network access, and use HTTPS if other users will access the dashboard remotely.<\/p><p>For Open WebUI specifically:<\/p><ol class=\"wp-block-list\">\n<li>Create a strong admin password during the first setup.<\/li>\n\n\n\n<li>Keep authentication enabled for shared or remote workspaces.<\/li>\n\n\n\n<li>Limit user registration to invited users only.<\/li>\n\n\n\n<li>Store Open WebUI data in a persistent Docker volume.<\/li>\n\n\n\n<li>Avoid exposing unused ports on your VPS.<\/li>\n\n\n\n<li>Use a local model provider if you want prompts to stay closer to your own infrastructure.<\/li>\n\n\n\n<li>Review any external API provider&rsquo;s data policy before connecting cloud-hosted models.<\/li>\n<\/ol><p>Do not treat Open WebUI security separately from VPS security. The application runs on your server, so the server itself also needs firewall rules, secure SSH access, regular updates, malware protection, and backup planning. For the full checklist, follow our<a href=\"\/au\/tutorials\/vps-security\" data-wpel-link=\"internal\" rel=\"follow\"> <\/a><a href=\"\/au\/tutorials\/vps-security\" data-wpel-link=\"internal\" rel=\"follow\">VPS security best practices<\/a> guide.<\/p><p>A private AI workspace is only private when both layers are protected: the Open WebUI application controls user access, while VPS security controls how the server is reached and maintained.<\/p><h2 class=\"wp-block-heading\" id=\"h-common-issues-when-setting-up-open-webui-with-docker\">Common issues when setting up Open WebUI with Docker<\/h2><p>Most Open WebUI Docker issues come from incorrect ports, missing persistent storage, unreachable model providers, or limited server resources. Start by checking whether the container is running, then confirm that Open WebUI can reach the model provider.<\/p><h3 class=\"wp-block-heading\">Open WebUI dashboard does not load<\/h3><p>The Open WebUI dashboard usually fails to load when the container is stopped or the web interface port is blocked. Check whether the container is running:<\/p><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 ps<\/pre><p>If the open-webui container is stopped, restart it:<\/p><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 restart open-webui<\/pre><p>Also, confirm that your VPS firewall allows access to the port you mapped to Open WebUI. If you used the setup from this guide, the dashboard should be available on port 3000.<\/p><h3 class=\"wp-block-heading\">Port 3000 is already in use<\/h3><p>A port conflict happens when another service already uses port 3000 on your server. Map Open WebUI to a different host port if this happens.<\/p><p>For example, this command exposes Open WebUI on port 3001 instead:<\/p><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 run -d\n--name open-webui\n-p 3001:8080\n-v open-webui:\/app\/backend\/data\n--restart always\nghcr.io\/open-webui\/open-webui:main<\/pre><p>After changing the port, open the dashboard with the new port:<\/p><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=\"\">http:\/\/your-server-ip:3001<\/pre><h3 class=\"wp-block-heading\">Models do not appear in Open WebUI<\/h3><p>Models usually do not appear when the model provider is not running, the model has not been downloaded, or Open WebUI is using the wrong provider endpoint.<\/p><p>First, confirm that your model provider is active. If you use Ollama, check the available models:<\/p><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=\"\">ollama list<\/pre><p>If the model is missing, pull it:<\/p><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=\"\">ollama pull llama3.2<\/pre><p>Then confirm that Open WebUI uses the correct model provider URL. For Ollama running on the host machine, the Docker container usually needs this endpoint:<\/p><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=\"\">http:\/\/host.docker.internal:11434<\/pre><h3 class=\"wp-block-heading\">Open WebUI shows a connection refused error<\/h3><p>A connection refused error means Open WebUI cannot reach the model provider. This often happens when Ollama or Docker Model Runner runs on the host machine while Open WebUI runs inside a container.<\/p><p>On Linux, add the host gateway mapping when starting Open WebUI:<\/p><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=\"\">--add-host=host.docker.internal:host-gateway<\/pre><p>For Docker Compose, add:<\/p><p>extra_hosts:<\/p><ul class=\"wp-block-list\">\n<li>&ldquo;host.docker.internal:host-gateway&rdquo;<br> {\/code}<\/li>\n<\/ul><p>Then restart Open WebUI so the container can use the updated host mapping.<\/p><h3 class=\"wp-block-heading\">Chat history disappears after restarting the container<\/h3><p>Chat history is lost when Open WebUI data is stored only in the container&rsquo;s filesystem. Since containers are temporary, workspace data needs a persistent Docker volume.<\/p><p>Use this volume mapping when running Open WebUI:<\/p><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=\"\">-v open-webui:\/app\/backend\/data<\/pre><p>This saves users, chats, settings, uploaded files, and workspace data outside the disposable container layer.<\/p><h3 class=\"wp-block-heading\">AI responses are slow<\/h3><p>Slow responses usually come from the model runtime, not the Open WebUI interface. Local models need sufficient CPU, RAM, and, sometimes, GPU resources to load and generate responses.<\/p><p>Use a smaller model if the VPS has limited resources. You can also reduce the context size, close unused workloads, or move the model provider to a more powerful server. The first response may be slower because the model needs to load into memory.<\/p><h3 class=\"wp-block-heading\">Container logs show startup or configuration errors<\/h3><p>Use Docker logs when Open WebUI starts incorrectly or behaves unexpectedly:<\/p><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 logs open-webui<\/pre><p>For Docker Compose setups, use:<\/p><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 compose logs open-webui<\/pre><p>Logs usually show whether the issue comes from a missing environment variable, a failed container start, an unreachable model endpoint, or a permission problem. After fixing the cause, restart Open WebUI:<\/p><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 restart open-webui<\/pre><h2 class=\"wp-block-heading\" id=\"h-is-open-webui-with-docker-the-right-setup-for-your-ai-workspace\">Is Open WebUI with Docker the right setup for your AI workspace?<\/h2><p>Open WebUI with Docker is the right setup if you want a private, browser-based AI workspace that you can host, configure, and maintain on your own server. It gives you more control than a hosted chatbot because you decide where the interface runs, who can access it, and which model providers it uses.<\/p><p>This setup is a good fit if you want to:<\/p><ul class=\"wp-block-list\">\n<li>Run a self-hosted AI chat interface on a VPS.<\/li>\n\n\n\n<li>Access the same AI workspace from multiple devices.<\/li>\n\n\n\n<li>Connect local models through Ollama or Docker Model Runner.<\/li>\n\n\n\n<li>Use cloud-hosted models through OpenAI-compatible APIs.<\/li>\n\n\n\n<li>Store chats, users, settings, and uploaded files in your own Docker volume.<\/li>\n\n\n\n<li>Create a shared AI workspace for a small team.<\/li>\n\n\n\n<li>Use private documents as context for AI-assisted answers.<\/li>\n<\/ul><p>Open WebUI with Docker is not the best option if you want a fully managed AI chatbot with no server maintenance. Since the workspace runs on your VPS, you are responsible for updates, security, backups, and configuration of the model provider.<\/p><p>For most users, the best approach is to start with Hostinger&rsquo;s <a href=\"\/au\/vps\/docker\/open-webui\">Open WebUI Docker template<\/a> if you want a faster deployment path. Choose the manual Docker setup if you need full control over ports, volumes, environment variables, or model connections.<\/p><p>Once Open WebUI is running, keep the setup simple: use persistent storage, enable authentication, connect the model provider that fits your privacy needs, and secure the VPS before sharing the workspace with other users.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Open WebUI Docker setup lets you run a private AI chat workspace on your own server. By deploying Open WebUI as a Docker container, you get a browser-based interface for chatting with AI models, managing conversations, uploading documents, and giving selected users access to the same workspace. To run Open WebUI with Docker: This guide [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/au\/tutorials\/open-webui-docker\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":342,"featured_media":144457,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Open WebUI Docker: How to Run a Private AI Chat Workspace","rank_math_description":"Learn how to run Open WebUI with Docker, connect AI models, secure your workspace, and deploy a private AI chat interface on a VPS.","rank_math_focus_keyword":"Open WebUI Docker","footnotes":""},"categories":[22644],"tags":[],"class_list":["post-144456","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/open-webui-docker","default":1},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/open-webui-docker","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/open-webui-docker","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/open-webui-docker","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/open-webui-docker","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/open-webui-docker","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/open-webui-docker","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/open-webui-docker","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/au\/tutorials\/wp-json\/wp\/v2\/posts\/144456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/au\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/au\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/au\/tutorials\/wp-json\/wp\/v2\/users\/342"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/au\/tutorials\/wp-json\/wp\/v2\/comments?post=144456"}],"version-history":[{"count":0,"href":"https:\/\/www.hostinger.com\/au\/tutorials\/wp-json\/wp\/v2\/posts\/144456\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/au\/tutorials\/wp-json\/wp\/v2\/media\/144457"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/au\/tutorials\/wp-json\/wp\/v2\/media?parent=144456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/au\/tutorials\/wp-json\/wp\/v2\/categories?post=144456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/au\/tutorials\/wp-json\/wp\/v2\/tags?post=144456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}