Getting Started

Introduction

Welcome to the One-Click Infrastructure ToolBox. One-Click is an agentless, shell-native operational control console designed to simplify Linux system administration, KVM virtualization, web hosting, and mesh network orchestration.

It acts as an intelligent abstraction layer over core Linux primitives combining embedded Ansible execution, net-filter firewall parsers (RuleEngine), automated DNS synchronization, isolated PHP/Node.js application runtimes, and WireGuard overlay networks without requiring heavy background daemons or fragile web control panels.

Where to Begin?

Follow the Quick Install command to deploy the core utility, run the IDS Scanner Initialization to hash system packages immediately, and proceed to configure standalone services or initialize a multi-node Cluster Controller.

Requirements & Supported Distributions

Supported Operating Systems

One-Click natively detects host system package managers (apt, dnf, yum) and adapts configuration paths automatically across major enterprise distributions:

OS Family Tested Distributions Package Engine Notes
Debian / Ubuntu Debian 12, Debian 13
Ubuntu 24.04 LTS, Ubuntu 26.04 LTS
apt-get PHP repository auto-configured for multi-version PHP support.
RHEL / Enterprise Linux AlmaLinux 8/9, Rocky Linux 8/9
CentOS Stream 8/9, RHEL 8/9
dnf / yum Remi repository enabled automatically. Redis/Valkey modular support included.

Hardware & Minimum Specifications

  • Minimal ToolBox Mode: 1 CPU Core, 512 MB RAM, 5 GB Disk space.
  • Full Web & Benchmark Mode (Geekbench 7): 2 CPU Cores, 3 GB RAM, 10 GB Free Disk space.
  • KVM Hypervisor Host Mode (`--vps`): Hardware Virtualization enabled in BIOS/nested flags (`VT-x` or `AMD-V`), 4 GB+ RAM, 7 GB+ LVM storage pool.

Automatic Dependency Resolution

During initial deployment and execution of sub-modules, One-Click checks for and auto installs required system binaries using the internal install_dep handler:

Base System Utilities : curl, jq, openssl, dig (dnsutils / bind-utils), bzip2, pv, tar, unzip
Networking & Firewalls: iptables, ip6tables, nftables, wireguard-tools, traceroute, vnstat
Benchmarking & Audit  : fio, iperf3, sysbench, mpstat (sysstat)
Web & Runtime Engines : nginx / httpd, MariaDB, PHP-FPM, Certbot, Node.js, Adminer

Quick Install

Execute the single-line Bootstrap installer as root or via sudo. The installer pulls the master binary, establishes base configuration directories (/etc/one-click/), sets execution permissions, and places the executable into /usr/local/bin/one-click.

Single Command Installation
curl -fsSL https://raw.githubusercontent.com/SiteHUB-NG/One-Click/main/one-click.sh -o /tmp/one-click.sh && \
bash /tmp/one-click.sh setup && \
rm -f /tmp/one-click.sh

First Deployment Workflow

Immediately following installation, execute the initial setup tasks below to establish binary baseline hashes and activate cluster orchestration.

Step 1: Initialize IDS Security Scanner Baseline

Upon initial launch, One-Click prompts for security initialization:

╔══════════════════════════════════════════════════════════════════╗
║ [SECURITY] Your IDS Scanner has not been initialized.           ║
║ Run one-click engine 'audit scan --init' to enable.              ║
╚══════════════════════════════════════════════════════════════════╝

Run the initialization command immediately. This hashes system packages, core binaries, and system paths to build a baseline fingerprint database used by the IDS scanner to catch unauthorized binary tampering:

# Build system package baseline hashes and activate IDS scanner
one-click engine 'audit scan --init'

Step 2: Initialize Cluster Mesh (If using Fleet)

If this machine will act as the master Controller for a multi-node cluster, initialize the Fleet mesh environment:

# Initialize Fleet Controller environment
one-click fleet init

# Register worker peer nodes to the mesh
one-click fleet add 192.168.1.100 worker-node-01

Step 3: Provision Web Hosting or Applications

Deploy high-performance, isolated applications with auto-configured SSL:

# Option A: Provision isolated WordPress instance
one-click --wp-create

# Option B: Deploy Node.js app from Git repository
one-click --nodejs-create

Offline & Air-Gapped Installation

For isolated network zones or enterprise air-gapped environments without direct outbound internet access, One-Click can be deployed manually using a pre-packaged release bundle.

Offline Installation Steps
# 1. Extract pre-downloaded deployment bundle
tar -xzf one-click-offline.tar.gz -C /tmp/

# 2. Run local offline installer
cd /tmp/one-click-offline
bash install.sh --offline

# 3. Clean installation staging directory
rm -rf /tmp/one-click-offline

Updating & Clean Uninstallation

Updating One-Click

To pull and apply the latest core binary updates across your system or fleet:

# Pull and update core binary executable
one-click fleet update

Built-In Clean Uninstallation

One-Click provides a safe, interactive uninstaller via one-click uninstall (or one-click -u) that removes managed configurations while safeguarding site data and webserver state.

Automated Data Migration & Configuration Rollback

Before purging One-Click, the uninstaller automatically:

  • Safely migrates hosted WordPress, static sites, Node.js apps, and Nextcloud instances out of /etc/one-click/ into /var/www/.
  • Restores original, pre-installation web server config backups (e.g. /etc/nginx/nginx.conf.one-click.bak).
  • Generates an interactive preview list of paths scheduled for deletion and waits for user confirmation.
  • Uninstalls the IDS Scanner and purges bash auto-completion scripts, manpages, and cron tasks.
Execute Safe Uninstallation
# Launch interactive guided uninstaller
one-click uninstall

Architectural FAQ

Q: Why One-Click?

Modern system administration is often caught between manual shell scripts (hard to maintain) and heavy web control panels (bloated, insecure, resource-heavy). One-Click fills this gap by delivering enterprise-grade infrastructure automation through a lightweight, shell-native tool.

Q: Why shell only?

Shell-native execution ensures zero RAM footprint when idle, minimal dependencies, seamless SSH scriptability, and immediate compatibility across headless server environments, serial consoles, and automated CI/CD deployment pipelines.

Q: Why no permanent web interface?

Permanent web control panels are primary attack targets for automated web scanners and zero-day exploits. By eliminating persistent web daemons and listening management ports, One-Click keeps your server's public attack surface as small as possible.

Q: Why deterministic layouts?

Standardized file paths (e.g. /etc/one-click/wordpress/<domain>) ensure that backup scripts, migration tools, telemetry widgets, and security scanners can reliably interact with any service across any node in a fleet without fragile path guessing.

Q: Why isolated PHP pools?

Shared PHP-FPM pools allow a compromised website on a server to read memory or files from neighboring sites. One-Click spawns dedicated PHP-FPM pools per domain—each bound to independent system users, private systemd slices, and isolated UNIX domain sockets.

Q: Why ephemeral Adminer?

Public database GUI tools (like phpMyAdmin) are constantly brute-forced. One-Click uses a proxied Adminer instance that remains disabled on disk until explicitly needed. When requested via one-click --db-admin, it generates a single-use token valid for 30 minutes that immediately pins itself to the requesting client's IP and User-Agent.