Back to articles
Technology Insight

Self-Hosting Private Claude Artifacts: A Secure Enterprise Solution Using OpenWebUI, Ollama, and VPS

June 5, 2026

Introduction: The Enterprise Need for Private AI Environments

In the modern business landscape, Artificial Intelligence (AI) has transitioned from an experimental tool to a core operational necessity. Among the various innovations in user interface design, Anthropic's Claude Artifacts has emerged as a standout feature. It allows users to generate, view, and iterate on code, dashboards, documents, and visual designs in a dedicated, side-by-side workspace. However, for enterprises handling proprietary data, financial records, or strict client confidentiality, utilizing public cloud AI interfaces presents a significant compliance risk.

Data leaks, regulatory fines, and the loss of intellectual property are real dangers when sensitive information is fed into external servers. The solution? Self-hosting. By combining the powerful frontend capabilities of OpenWebUI with the local LLM orchestration of Ollama on a Virtual Private Server (VPS), your organization can achieve complete data sovereignty while retaining the highly productive 'Artifacts' workflow.

---

Understanding the Architecture: OpenWebUI and Ollama

Before diving into the deployment phase, it is essential to understand how these open-source tools interact to replicate the Claude Artifacts experience:

  • Ollama: This serves as the engine room. Ollama is an open-source framework designed for running large language models (LLMs) locally. It manages model weights, memory allocation, and hardware acceleration efficiently, exposing a clean API for front-end applications.
  • OpenWebUI: This is the user interface. It is a highly customizable, feature-rich web UI that acts as a drop-in replacement for premium AI interfaces. Crucially, OpenWebUI includes a native feature called Controls/Pipelines or HTML/Web Pages previewing, which effectively mimics Anthropic's Artifacts by rendering HTML, CSS, JavaScript, and SVG code in real-time.
  • VPS (Virtual Private Server): The infrastructure layer. Hosting this stack on a private VPS ensures that all data baseline interactions, system logs, and model inferences remain strictly within your organizational boundaries.
---

Prerequisites and System Requirements

To ensure a smooth deployment and optimal performance, your VPS should meet the following minimum specifications:

ComponentMinimum RequirementRecommended for Production
CPU4 Cores (Modern Architecture)8 Cores+ or Dedicated vCPU
RAM8 GB (For 7B/8B models)16 GB to 32 GB (For 14B+ models)
Storage50 GB SSD / NVMe100 GB+ NVMe SSD
OSUbuntu 22.04 LTSUbuntu 24.04 LTS
Note on GPUs: While Ollama can run on CPU-only environments using quantized models (like Qwen2.5 or Llama3), integrating an NVIDIA GPU (e.g., T4, A10G) will drastically reduce Time-to-First-Token (TTFT) and increase generation speed for multiple concurrent enterprise users.
---

Step-by-Step Deployment Guide

Step 1: Preparing the Server and Installing Docker

Using Docker simplifies the orchestration and scaling of both OpenWebUI and Ollama. Connect to your VPS via SSH and execute the following commands to update the system and install Docker:

sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL [https://download.docker.com/linux/ubuntu/gpg](https://download.docker.com/linux/ubuntu/gpg) | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] [https://download.docker.com/linux/ubuntu](https://download.docker.com/linux/ubuntu) $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io -y
sudo systemctl enable docker && sudo systemctl start docker

Step 2: Deploying Ollama via Docker

If you are using a CPU-only server, deploy Ollama with the following command. This creates a persistent volume to store your AI models so they do not download again upon container restarts:

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama

For servers equipped with an NVIDIA GPU, ensure the NVIDIA Container Toolkit is installed first, then run:

docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama

Step 3: Downloading Optimized Models

To closely match Claude's capabilities in coding and text generation, we recommend using the Qwen2.5-Coder series or Llama-3.1. Execute the following command inside the Ollama container to download a highly capable 7-billion parameter coding model:

docker exec -it ollama ollama run qwen2.5-coder:7b

Step 4: Deploying OpenWebUI with Artifacts Capability

Now, run the OpenWebUI container. We will link it to the Ollama container using the internal network address to ensure low latency and security:

docker run -d -p 3000:8080 -v open-webui:/app/backend/data --e OLLAMA_BASE_URL=[http://host.docker.internal:11434](http://host.docker.internal:11434) --add-host=host.docker.internal:host-gateway --name open-webui --restart always ghcr.io/open-webui/open-webui:main
---

Configuring the 'Private Claude Artifacts' Experience

Once the containers are running, navigate to http://your-vps-ip:3000 in your web browser. The first account created will automatically be assigned the Administrator role.

Activating the Visual Preview Dashboard

To achieve the exact look and feel of Claude Artifacts, follow these internal configurations within OpenWebUI:

  1. Navigate to Admin Settings via the user profile menu in the bottom-left corner.
  2. Go to the Interface or Web Pages tab.
  3. Enable the HTML/SVG/Web Previewing Feature. This allows OpenWebUI to capture any code blocks containing HTML, CSS, JavaScript, or React, and render them natively on the right-hand side of the chat window.
  4. Set the default model to qwen2.5-coder:7b for robust code generation and multi-file logic separation.

Now, when you prompt your private AI with a request such as: "Create an interactive sales dashboard for my quarterly report using Tailwind CSS," OpenWebUI will not just spit out raw code. It will open a dedicated side panel rendering the fully functional interactive dashboard in real-time—matching the exact core value proposition of Claude Artifacts.

---

Securing and Optimizing Your Private AI Stack

Deploying the software is only half the battle; securing it for enterprise use is paramount. Consider implementing the following infrastructure enhancements:

  • Reverse Proxy with Nginx and SSL: Do not leave port 3000 exposed directly to the public internet. Set up an Nginx reverse proxy paired with a Let's Encrypt SSL certificate to encrypt all data in transit via HTTPS.
  • Strict Authentication: Disable public registration in the OpenWebUI Admin Panel. Force users to be added manually or integrate your company's existing OAuth/SAML identity providers (like Google Workspace, Okta, or Microsoft Entra ID).
  • System Monitoring: Monitor RAM and CPU utilization closely. If your team experiences high latency, consider offloading embedding generation to separate lightweight microservices or adjusting Ollama's NUM_PARALLEL parameters to handle simultaneous inferences.
---

Conclusion: Complete Independence and Control

By hosting your own private Claude Artifacts alternative using OpenWebUI and Ollama on a VPS, your organization reaps the ultimate dual benefit: cutting-edge productivity without cloud compliance liabilities. You control the logs, you control the data, and you control the model updates. As open-source models continue to narrow the gap with proprietary giants, self-hosting is no longer just a hobbyist endeavor—it is a strategic business advantage.