# 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 24.04 LTS (Noble) | | **Database** | PostgreSQL 16 | | **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 Dependencies **Option A: Ubuntu 24.04 (has PostgreSQL 16 in repositories)** ```bash sudo apt update sudo apt install -y postgresql-16 libssl3 ``` **Option B: Older Ubuntu versions (add PostgreSQL official repository)** ```bash # Add PostgreSQL official repo 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 and install sudo apt update sudo apt install -y postgresql-16 libssl3 ``` **Check your Ubuntu version:** ```bash lsb_release -a ``` | Ubuntu Version | Default PostgreSQL | Use Option | |----------------|-------------------|------------| | 24.04 LTS (Noble) | 16 | A | | 22.04 LTS (Jammy) | 14 | B | | 20.04 LTS (Focal) | 12 | B | ### 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 <