Aller au contenu

OpenWebUI Deployment Overview for North MiniCode on Server

Prerequisites

The following system parameters and network settings are required for the application to function correctly:

  • Operating System: Ubuntu (HWE kernel version is recommended).

  • Drivers: Presence of an NVIDIA GPU and installed drivers for hardware acceleration.

  • Ports:

    • 443 (external HTTPS port) — accessible via proxy server.

    • 8080 (internal application port) — used for communication with the proxy.

    • 11434 (Ollama port) — used locally by the container.

FQDN of the final panel on hostkey.in domain

A dynamic subdomain is used to access the interface, generated according to the following pattern:

Parameter Value
Prefix north-mini
Domain hostkey.in
Full Pattern north-mini{Server_ID_from_Invapi}.hostkey.in

File and Directory Structure

Core data and configurations are distributed across the following paths:

  • /root/nginx — working directory for the Nginx container (contains compose.yml).

  • /data/nginx/user_conf.d — directory containing Nginx virtual host configuration files.

  • /data/nginx/nginx-certbot.env — environment variables file for SSL certificates.

Application Installation Process

Deployment includes the following stages:

  1. Updating system packages and installing the linux-generic-hwe-22.04 kernel.

  2. Installing NVIDIA drivers (if hardware is present).

  3. Installing and starting the Ollama service.

  4. Downloading the north-mini-code-1.0 language model via Ollama.

  5. Deploying the OpenWebUI container.

  6. Configuring the Nginx proxy server with automatic Certbot SSL certificate acquisition.

Docker Containers and Execution

The following components are deployed in the system:

OpenWebUI

Container for the language model interaction interface.

  • Image Name: ghcr.io/open-webui/open-webui:main

  • Ports: Uses host mode (accessible via proxy).

  • Volumes: open-webui:/app/backend/data

  • Environment Variables:

    • OLLAMA_BASE_URL: http://127.0.0.1:11434
  • Restart Policy: always

Nginx (Certbot)

Container for SSL certificate management and traffic proxying.

  • Image Name: jonasal/nginx-certbot:latest

  • Ports: Uses host mode.

  • Volumes:

    • nginx_secrets:/etc/letsencrypt

    • /data/nginx/user_conf.d:/etc/nginx/user_conf.d

  • Environment Variables: Loaded from the /data/nginx/nginx-certbot.env file.

  • Restart Policy: unless-stopped

Databases

The application uses a local Ollama service to work with models. OpenWebUI interface data is stored in a Docker Volume named open-webui.

Application Update Instructions

Updates are performed by updating images and restarting containers:

docker compose pull && docker compose up -d
Additionally, the following command is used to apply changes in the Nginx configuration:
docker exec nginx-nginx-1 nginx -s reload

Permissions Settings

  • The /root/nginx directory has 0755 permissions, owner root.

  • The /root/nginx/compose.yml file has 0644 permissions, owner root.

Available Connection Ports

Port Purpose Access Type
443 OpenWebUI HTTPS interface External (via domain)
8080 Local application port Internal
11434 Ollama API Local

Starting and Stopping the Application

Container management is performed via Docker Compose in the /root/nginx directory:

  • Start all services: docker compose up -d

  • Stop services: docker compose down

  • Reload Nginx configuration: docker exec nginx-nginx-1 nginx -s reload