{"id":28795944,"url":"https://github.com/loglux/openwebui-docker-automation","last_synced_at":"2026-04-17T00:34:53.121Z","repository":{"id":298350210,"uuid":"999687971","full_name":"loglux/openwebui-docker-automation","owner":"loglux","description":"This repository contains automation scripts for managing OpenWebUI and pipeline components using Docker. It simplifies updates, resets, and ensures containers are healthy","archived":false,"fork":false,"pushed_at":"2026-03-19T23:28:36.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-20T14:11:56.219Z","etag":null,"topics":["ai","automation","automation-scripts","bash","containers","deployment","docker","docker-auto-build","docker-automated-build","docker-automation","gpu","nas","openwebui","openwebui-pipe","pipelines","postgres","self-hosting","shell","shell-script"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loglux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-10T16:24:07.000Z","updated_at":"2026-03-19T23:28:40.000Z","dependencies_parsed_at":"2025-06-10T18:04:45.541Z","dependency_job_id":null,"html_url":"https://github.com/loglux/openwebui-docker-automation","commit_stats":null,"previous_names":["loglux/openwebui-docker-automation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/loglux/openwebui-docker-automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loglux%2Fopenwebui-docker-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loglux%2Fopenwebui-docker-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loglux%2Fopenwebui-docker-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loglux%2Fopenwebui-docker-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loglux","download_url":"https://codeload.github.com/loglux/openwebui-docker-automation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loglux%2Fopenwebui-docker-automation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31910165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","automation","automation-scripts","bash","containers","deployment","docker","docker-auto-build","docker-automated-build","docker-automation","gpu","nas","openwebui","openwebui-pipe","pipelines","postgres","self-hosting","shell","shell-script"],"created_at":"2025-06-18T03:10:46.646Z","updated_at":"2026-04-17T00:34:53.113Z","avatar_url":"https://github.com/loglux.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# OpenWebUI Docker Automation\n\n## 🚀 Overview  \nThis repository contains automation scripts for managing **OpenWebUI and pipeline components** using Docker. It simplifies updates, resets, and ensures containers are healthy, especially for self-hosted setups like NAS environments.  \n\n## 🛠️ What is OpenWebUI Docker Automation?  \nOpenWebUI Docker Automation is a set of **shell scripts** designed to **simplify self-hosting and container management** for OpenWebUI. If you're running OpenWebUI on a **NAS** and using Ollama on a **separate GPU-powered machine**, this project provides essential automation to keep everything updated and running smoothly.  \n\n### 🚀 Why Use These Scripts?  \nManaging Docker containers manually can be time-consuming. These scripts allow you to:  \n- **Automatically update OpenWebUI** with the latest image.  \n- **Effortlessly reset and redeploy pipeline containers** without lingering conflicts.  \n- **Run health checks** to ensure proper functionality after updates.  \n- **Optimize container deployment** for NAS-hosted environments.  \n\n## 🌐 Deployment Context  \nThis setup assumes **OpenWebUI is running on a NAS**, while **Ollama is hosted separately on a computer with a GPU** for optimized performance.  \nUsers can modify environment variables like `OLLAMA_BASE_URL` to point to their specific setup.  \n---\n\n## ⚙️ Scripts\n\n### **1️⃣ update_openwebui.sh**\n\nThis script **updates and restarts the OpenWebUI container** in Docker. It performs these actions:\n\n1.  **Pulls the latest OpenWebUI image** from GitHub Container Registry.\n    \n2.  **Stops and removes** the existing container.\n    \n3.  **Starts a new container** with configured environment variables.\n    \n4.  **Runs a health check** to ensure the service is running.\n    \n\n#### 🔹 Variables in `update_openwebui.sh`\n\n| Variable        | Description |\n|----------------|-------------|\n| `CONTAINER_NAME`  | Name of the OpenWebUI container in Docker (`open-webui`). |\n| `IMAGE_NAME`  | Repository path for OpenWebUI’s latest image (`ghcr.io/open-webui/open-webui:main`). |\n| `HOST_PORT`  | External port for OpenWebUI (**default is 3000**, but modified in this setup). |\n| `CONTAINER_PORT`  | Internal container port (**default 8080** in this setup). |\n| `OLLAMA_BASE_URL`  | API base URL used by OpenWebUI (customizable). |\n| `VOLUME_NAME`  | Persistent volume for storing backend data. |\n| `LOG_FILE`  | Log file to track script execution steps. |\n\n---\n### **2️⃣ reset_pipelines.sh**\n\nThis script **cleans and restarts the pipelines container**. It follows these steps:\n\n1.  **Stops and removes** the pipelines container.\n    \n2.  **Deletes the old image** to avoid conflicts.\n    \n3.  **Removes old storage volume** for a clean install.\n    \n4.  **Pulls the latest pipelines image** and deploys a new container.\n    \n5.  **Performs a verification check** to confirm proper deployment.\n    \n---\n#### 🔹 Variables in `reset_pipelines.sh`\n\n| Variable        | Description |\n|----------------|-------------|\n| `CONTAINER_NAME`  | Name of the pipelines container in Docker (`pipelines`). |\n| `IMAGE_NAME`  | Repository path for pipelines image (`ghcr.io/open-webui/pipelines:main`). |\n| `HOST_PORT`  | External port used for pipelines (**default 9099**). |\n| `CONTAINER_PORT`  | Internal port used by pipelines (**default 9099**). |\n| `PIPELINES_VOLUME`  | Name of the volume where pipeline data is stored. |\n| `CUSTOM_PIPELINES_URL`  | Optional URL for custom pipeline scripts (default is empty). |\n| `DB_PORT`  | PostgreSQL database port (**default 5432**). |\n| `PIPELINES_REQUIREMENTS_PATH`  | Path to pipeline dependencies in the container (`/app/pipelines/requirements.txt`). |\n---\n## 🛠️ Installation \u0026 Usage\n\nMake scripts executable and run:\n\nsh\n\n```\nchmod +x update_openwebui.sh  \n./update_openwebui.sh  \n\n```\n\nsh\n\n```\nchmod +x reset_pipelines.sh  \n./reset_pipelines.sh  \n\n```\n---\n### Shell Compatibility\nThese scripts are written for **POSIX `sh`** and are intended to run with `#!/bin/sh` on common Unix-like systems, including lightweight NAS environments.  \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floglux%2Fopenwebui-docker-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floglux%2Fopenwebui-docker-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floglux%2Fopenwebui-docker-automation/lists"}