# Linux Patch Manager **Enterprise-class secure web-based management interface for controlling patching and updates on Linux servers and workstations.** ## Overview Linux Patch Manager provides a centralized web interface to manage patching and software updates across a fleet of Linux servers and workstations. It communicates with managed devices through the [Linux Patch API](https://gitea.moon-dragon.us/echo/linux_patch_api), leveraging mTLS-secured RESTful endpoints for all operations. ## Key Features - **Centralized Dashboard** — Monitor patch status across all managed hosts from a single interface - **Multi-Distribution Support** — Manage Debian/Ubuntu, RHEL/CentOS/Fedora, Alpine, and Arch hosts - **Secure by Design** — mTLS authentication, role-based access control, audit logging - **Batch Operations** — Apply patches and updates across multiple hosts simultaneously - **Scheduling** — Plan and schedule patch windows with approval workflows - **Reporting** — Compliance reporting and patch status dashboards ## Architecture Linux Patch Manager is a web application that acts as a management plane, communicating with the Linux Patch API agent running on each managed host. ``` ┌─────────────────────┐ │ Linux Patch Manager │ ← Web UI (this project) │ (Management Plane) │ └──────────┬──────────┘ │ mTLS / REST API ┌──────┼──────┐ ▼ ▼ ▼ ┌──────┐┌──────┐┌──────┐ │ Host ││ Host ││ Host │ ← Linux Patch API agents │ A ││ B ││ C │ └──────┘└──────┘└──────┘ ``` ## System Requirements | Component | Requirement | |-----------|-------------| | **Operating System** | Ubuntu 22.04 LTS or 24.04 LTS | | **Database** | PostgreSQL 16 (via official PostgreSQL repository) | | **Memory** | 2 GB RAM minimum, 4 GB recommended | | **Storage** | 1 GB for application + database space | | **Network** | HTTPS access (port 443 recommended) | ## Installation ### 1. Download the Package Download the latest `.deb` package from the [Gitea Releases](https://gitea-lxc.moon-dragon.us/echo/linux_patch_manager/releases) page: ```bash wget https://gitea-lxc.moon-dragon.us/echo/linux_patch_manager/releases/download/v0.0.2/linux-patch-manager_1.0.0-1_amd64.deb ``` ### 2. Install PostgreSQL 16 **Important:** PostgreSQL 16 is NOT available in Ubuntu's default repositories. You MUST add the official PostgreSQL repository. ```bash # Add PostgreSQL official repository sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' # Import signing key wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - # Update package list sudo apt update # Install PostgreSQL 16 and SSL library sudo apt install -y postgresql-16 libssl3 ``` ### 3. Install the Package ```bash sudo dpkg -i linux-patch-manager_1.0.0-1_amd64.deb ``` Or with automatic dependency resolution: ```bash sudo apt install ./linux-patch-manager_1.0.0-1_amd64.deb ``` ## Configuration ### 1. Database Setup Create the PostgreSQL database and user: ```bash sudo -u postgres psql <