CLOUD
AI

How to Run Private ChatGPT on Your Server with Open WebUI

CLOUD|October 3, 2025|4 min read|735 views
How to Run Private ChatGPT on Your Server with Open WebUI

Open WebUI + Ollama gives you a private ChatGPT interface on your server. Your data never leaves. We walk through installation step by step on a Saudi server.

What Is Open WebUI?

Open WebUI is an open-source web interface for running AI models locally. It provides an experience similar to ChatGPT but on your own server — your data never leaves the server, there are no monthly subscriptions, and the number of users is unlimited.

Open WebUI integrates with Ollama to run models like Llama 3, Mistral, Qwen, and others. Every conversation is saved locally, users are managed through an admin dashboard, and the system supports RAG for uploading documents and answering questions from them directly.

Why a Saudi Server?

  • data protection and localization: Your conversations and documents stay in Riyadh or Jeddah
  • PDPL and NCA compliance: Data never leaves the Kingdom
  • Low latency: very low latency from anywhere in Saudi Arabia
  • No third party: Neither OpenAI nor Google sees your data

Requirements

Minimum (Small Team, 5-10 Users)

Component Specifications
CPU 4 vCPU
RAM 8 GB
Storage 40 GB SSD
OS Ubuntu 22.04 / 24.04
Model Llama 3 8B Q4 (needs 4.7 GB)

This corresponds to the Business plan from CLOUD (cloud.net.sa) — competitive pricing — pricing and plans.

Component Specifications
CPU 8 vCPU
RAM 16 GB
Storage 80 GB SSD
OS Ubuntu 22.04 / 24.04
Model Llama 3 8B Q8 or Mistral 7B Q8

This corresponds to the Enterprise plan — competitive pricing — pricing and plans with storage upgrade.

Complete Step-by-Step Installation

Step 1: Update the System

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git

Step 2: Install Docker

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker

Step 3: Install Ollama

curl -fsSL https://ollama.ai/install.sh | sh

Verify the installation:

ollama --version

Step 4: Download a Model

# Llama 3 8B — best balance between quality and performance
ollama pull llama3.1:8b

# Or Mistral 7B — excellent for English
ollama pull mistral:7b

# Or Qwen 2.5 7B — best for Arabic
ollama pull qwen2.5:7b

Step 5: Run Open WebUI

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

Step 6: Configure Nginx as Reverse Proxy

sudo apt install -y nginx certbot python3-certbot-nginx

sudo cat > /etc/nginx/sites-available/open-webui << 'EOF'
server {
 listen 80;
 server_name ai.yourdomain.com;

 location / {
 proxy_pass http://localhost:3000;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;
 proxy_http_version 1.1;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";
 proxy_read_timeout 300s;
 }

 client_max_body_size 50M;
}
EOF

sudo ln -s /etc/nginx/sites-available/open-webui /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Step 7: SSL Certificate

sudo certbot --nginx -d ai.yourdomain.com

Initial Configuration

1. Create Admin Account

Open https://ai.yourdomain.com in your browser. The first user to register becomes the admin automatically.

2. Security Settings

From the admin dashboard:

  • Disable public registration — do not allow anyone to sign up
  • Enable email verification — confirm user identities
  • Restrict available models — choose which models the team can use

3. Add Users

Add your team members manually from the admin panel. For each user, specify:

  • Name and email
  • Role (regular user or admin)
  • Allowed models

RAG allows users to upload documents (PDF, Word, text) and ask questions about their content:

RAG Setup

  1. From settings, enable the Documents feature
  2. Upload your documents (policies, guides, contracts)
  3. Choose an embedding model (nomic-embed-text works great locally)
ollama pull nomic-embed-text

Usage Example

Upload your employee handbook as PDF. Ask: "What is the annual leave policy?" — the system searches the document and answers based on its actual content.

Monitoring and Maintenance

Monitor Resource Usage

# CPU and memory usage
docker stats open-webui

# Storage space
du -sh /var/lib/docker/volumes/open-webui/

Backup

# Back up Open WebUI data
docker cp open-webui:/app/backend/data ./backup-$(date +%Y%m%d)

# Back up Ollama models
tar -czf ollama-models-$(date +%Y%m%d).tar.gz /usr/share/ollama/.ollama/models/

Update

docker pull ghcr.io/open-webui/open-webui:main
docker stop open-webui
docker rm open-webui
# Re-run the command from Step 5 — data is preserved in the Volume

Troubleshooting

Problem Likely Cause Solution
Very slow responses Insufficient memory Add RAM or use a smaller model (Q4 instead of Q8)
Ollama connection error Docker cannot reach Ollama Check OLLAMA_BASE_URL and host.docker.internal
Model fails to load Insufficient storage Add SSD or remove unused models
Site does not open Nginx or SSL Check: sudo nginx -t and sudo systemctl status nginx

Next Steps

Open WebUI on a Saudi server from CLOUD (cloud.net.sa) gives you a private ChatGPT without monthly subscriptions and without privacy concerns. The template is ready for one-click installation — choose your plan, add the Open WebUI template, and start in minutes.


Get Started

Ready to run AI on your own server? Explore AI hosting solutions or configure your server with the specs you need.

Share