[PR #14983] [CLOSED] feat: Add Homebrew formula for Open WebUI #10466

Closed
opened 2025-11-11 19:05:32 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/14983
Author: @cdamken
Created: 6/14/2025
Status: Closed

Base: devHead: feat/homebrew-formula-proper


📝 Commits (3)

  • cfa25eb feat: Add Homebrew formula for Open WebUI
  • 9118778 chore: Add Claude.md to gitignore for temporary guidance file
  • 6e72639 chore: Update gitignore to use CLAUDE.md instead of Claude.md

📊 Changes

4 files changed (+186 additions, -0 deletions)

View changed files

📝 .gitignore (+3 -0)
homebrew/README.md (+83 -0)
homebrew/open-webui.rb (+28 -0)
homebrew/test-homebrew-formula.sh (+72 -0)

📄 Description

Pull Request Checklist

Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.

Discussion Created: Add Homebrew Formula for Open WebUI - Link will be updated after creating discussion

Before submitting, make sure you've checked the following:

  • Target branch: Please verify that the pull request targets the dev branch.
  • Description: Provide a concise description of the changes made in this pull request.
  • Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
  • Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
  • Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
  • Testing: Have you written and run sufficient tests to validate the changes?
  • Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
  • Prefix: To clearly categorize this pull request, prefix the pull request title using one of the following:
    • feat: Introduces a new feature or enhancement to the codebase

feat: Add Homebrew formula for Open WebUI

Description

This pull request adds a fully tested and working Homebrew formula for installing Open WebUI on macOS and Linux systems via Homebrew. This addresses multiple community requests for native Homebrew installation support and provides an easy, standardized way to install Open WebUI using the system package manager.

The implementation follows Homebrew best practices and includes comprehensive testing to ensure reliability and proper functionality.

Files Added

  • homebrew/open-webui.rb - Main Homebrew formula for Open WebUI v0.6.14
  • homebrew/test-homebrew-formula.sh - Comprehensive test script that validates installation, functionality, and cleanup
  • homebrew/README.md - Documentation and usage instructions for the Homebrew formula

Key Features

  • Automatic Dependency Management: Handles Python 3.12, Node.js 22, and all required Python packages automatically
  • Virtual Environment Isolation: Creates isolated Python environment to avoid conflicts with system packages
  • Clean Installation/Uninstallation: Proper cleanup when removing the package
  • Homebrew Best Practices: Follows official Homebrew formula conventions and guidelines
  • Comprehensive Testing: Automated test suite validates all functionality including installation, CLI commands, and uninstallation

Testing Results

All tests pass successfully:

  • Formula Syntax: Ruby syntax validation passes
  • Installation: Successfully installs Open WebUI v0.6.14 (2.6GB, 80,500 files)
  • CLI Functionality: All commands work (open-webui --help, open-webui serve, etc.)
  • Uninstallation: Clean removal of all files and dependencies
  • Reinstallation: Works perfectly after uninstallation
  • Homebrew Built-in Tests: Passes brew test open-webui

Installation Usage

# Install from local formula
cd homebrew
brew install --formula ./open-webui.rb

# Verify installation
open-webui --help

# Run server
open-webui serve

Testing Instructions

To test this PR:

# Navigate to the homebrew directory
cd homebrew

# Run comprehensive tests
./test-homebrew-formula.sh

The test script automatically validates:

  1. Formula syntax
  2. Installation process
  3. CLI functionality
  4. Uninstallation process
  5. Reinstallation process

Dependencies

New Dependencies Added:

  • Python 3.12 (runtime dependency, managed by Homebrew)
  • Node.js 22 (build dependency, managed by Homebrew)
  • ~98 Python packages (automatically installed via pip in isolated virtualenv)

Installation Size: Approximately 2.6GB with ~80,500 files

All dependencies are managed automatically by the Homebrew formula and do not require manual intervention.

Changelog Entry

Description

Add Homebrew formula for Open WebUI to enable easy installation via Homebrew package manager on macOS and Linux systems.

Added

  • Homebrew formula (homebrew/open-webui.rb) for Open WebUI v0.6.14
  • Comprehensive test script (homebrew/test-homebrew-formula.sh) for validating formula functionality
  • Documentation (homebrew/README.md) with installation and usage instructions
  • Automatic dependency management for Python 3.12, Node.js 22, and all Python packages
  • Virtual environment isolation to prevent conflicts with system packages
  • Clean installation and uninstallation processes
  • CLI tool integration with open-webui command available system-wide

Changed

  • None

Deprecated

  • None

Removed

  • None

Fixed

  • None

Security

  • Virtual environment isolation prevents conflicts with system Python packages
  • Formula follows Homebrew security best practices

Breaking Changes

  • None

Additional Information

  • This formula is ready for submission to the official Homebrew repository once accepted
  • All Python dependencies are managed automatically via pip in an isolated virtualenv
  • The formula follows Homebrew best practices and conventions
  • Installation size is approximately 2.6GB with ~80,500 files
  • Clean installation and uninstallation tested extensively on macOS
  • Addresses multiple community requests for native Homebrew installation support
  • Related to community discussion: install by homebrew as cask?

Screenshots or Videos

Testing output showing successful installation, functionality verification, and clean uninstallation can be provided upon request. All tests pass as documented in the testing results section above.

Contributor License Agreement

By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/14983 **Author:** [@cdamken](https://github.com/cdamken) **Created:** 6/14/2025 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `feat/homebrew-formula-proper` --- ### 📝 Commits (3) - [`cfa25eb`](https://github.com/open-webui/open-webui/commit/cfa25ebb75c4dab66d6482f4b5fc50bc4792471a) feat: Add Homebrew formula for Open WebUI - [`9118778`](https://github.com/open-webui/open-webui/commit/9118778bcbbfc68e79c83c91666eb12e0a888c46) chore: Add Claude.md to gitignore for temporary guidance file - [`6e72639`](https://github.com/open-webui/open-webui/commit/6e726395a2e7935884f7fdc1a06a09b02a6b84ae) chore: Update gitignore to use CLAUDE.md instead of Claude.md ### 📊 Changes **4 files changed** (+186 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+3 -0) ➕ `homebrew/README.md` (+83 -0) ➕ `homebrew/open-webui.rb` (+28 -0) ➕ `homebrew/test-homebrew-formula.sh` (+72 -0) </details> ### 📄 Description # Pull Request Checklist ### Note to first-time contributors: Please open a discussion post in [Discussions](https://github.com/open-webui/open-webui/discussions) and describe your changes before submitting a pull request. **✅ Discussion Created**: [Add Homebrew Formula for Open WebUI](https://github.com/open-webui/open-webui/discussions) - *Link will be updated after creating discussion* **Before submitting, make sure you've checked the following:** - [x] **Target branch:** Please verify that the pull request targets the `dev` branch. - [x] **Description:** Provide a concise description of the changes made in this pull request. - [x] **Changelog:** Ensure a changelog entry following the format of [Keep a Changelog](https://keepachangelog.com/) is added at the bottom of the PR description. - [x] **Documentation:** Have you updated relevant documentation [Open WebUI Docs](https://github.com/open-webui/docs), or other documentation sources? - [x] **Dependencies:** Are there any new dependencies? Have you updated the dependency versions in the documentation? - [x] **Testing:** Have you written and run sufficient tests to validate the changes? - [x] **Code review:** Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards? - [x] **Prefix:** To clearly categorize this pull request, prefix the pull request title using one of the following: - **feat**: Introduces a new feature or enhancement to the codebase # feat: Add Homebrew formula for Open WebUI ## Description This pull request adds a fully tested and working Homebrew formula for installing Open WebUI on macOS and Linux systems via Homebrew. This addresses multiple community requests for native Homebrew installation support and provides an easy, standardized way to install Open WebUI using the system package manager. The implementation follows Homebrew best practices and includes comprehensive testing to ensure reliability and proper functionality. ## Files Added - **`homebrew/open-webui.rb`** - Main Homebrew formula for Open WebUI v0.6.14 - **`homebrew/test-homebrew-formula.sh`** - Comprehensive test script that validates installation, functionality, and cleanup - **`homebrew/README.md`** - Documentation and usage instructions for the Homebrew formula ## Key Features - **Automatic Dependency Management**: Handles Python 3.12, Node.js 22, and all required Python packages automatically - **Virtual Environment Isolation**: Creates isolated Python environment to avoid conflicts with system packages - **Clean Installation/Uninstallation**: Proper cleanup when removing the package - **Homebrew Best Practices**: Follows official Homebrew formula conventions and guidelines - **Comprehensive Testing**: Automated test suite validates all functionality including installation, CLI commands, and uninstallation ## Testing Results All tests pass successfully: - ✅ **Formula Syntax**: Ruby syntax validation passes - ✅ **Installation**: Successfully installs Open WebUI v0.6.14 (2.6GB, 80,500 files) - ✅ **CLI Functionality**: All commands work (`open-webui --help`, `open-webui serve`, etc.) - ✅ **Uninstallation**: Clean removal of all files and dependencies - ✅ **Reinstallation**: Works perfectly after uninstallation - ✅ **Homebrew Built-in Tests**: Passes `brew test open-webui` ## Installation Usage ```bash # Install from local formula cd homebrew brew install --formula ./open-webui.rb # Verify installation open-webui --help # Run server open-webui serve ``` ## Testing Instructions To test this PR: ```bash # Navigate to the homebrew directory cd homebrew # Run comprehensive tests ./test-homebrew-formula.sh ``` The test script automatically validates: 1. Formula syntax 2. Installation process 3. CLI functionality 4. Uninstallation process 5. Reinstallation process ## Dependencies **New Dependencies Added:** - **Python 3.12** (runtime dependency, managed by Homebrew) - **Node.js 22** (build dependency, managed by Homebrew) - **~98 Python packages** (automatically installed via pip in isolated virtualenv) **Installation Size:** Approximately 2.6GB with ~80,500 files All dependencies are managed automatically by the Homebrew formula and do not require manual intervention. # Changelog Entry ### Description Add Homebrew formula for Open WebUI to enable easy installation via Homebrew package manager on macOS and Linux systems. ### Added - Homebrew formula (`homebrew/open-webui.rb`) for Open WebUI v0.6.14 - Comprehensive test script (`homebrew/test-homebrew-formula.sh`) for validating formula functionality - Documentation (`homebrew/README.md`) with installation and usage instructions - Automatic dependency management for Python 3.12, Node.js 22, and all Python packages - Virtual environment isolation to prevent conflicts with system packages - Clean installation and uninstallation processes - CLI tool integration with `open-webui` command available system-wide ### Changed - None ### Deprecated - None ### Removed - None ### Fixed - None ### Security - Virtual environment isolation prevents conflicts with system Python packages - Formula follows Homebrew security best practices ### Breaking Changes - None --- ### Additional Information - This formula is ready for submission to the official Homebrew repository once accepted - All Python dependencies are managed automatically via pip in an isolated virtualenv - The formula follows Homebrew best practices and conventions - Installation size is approximately 2.6GB with ~80,500 files - Clean installation and uninstallation tested extensively on macOS - Addresses multiple community requests for native Homebrew installation support - Related to community discussion: [install by homebrew as cask?](https://github.com/open-webui/open-webui/discussions/5424) ### Screenshots or Videos Testing output showing successful installation, functionality verification, and clean uninstallation can be provided upon request. All tests pass as documented in the testing results section above. ### Contributor License Agreement By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-11 19:05:32 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#10466