OneClickVirt Documentation

website·Indexed 32 days ago

https://www.spiritlhl.net/

Guides and installation instructions for OneClickVirt and its associated virtualization projects. Includes deployment strategies for QEMU/KVM, Proxmox VE (PVE), Podman, KubeVirt, and LXD, covering basic and advanced installation, virtual machine creation for Windows, macOS, and Android, and network configuration including IPv6 and port forwarding.

Tokens
129.4K
Snippets
689
Records
925
Agent score
65%

What's inside OneClickVirt

  1. Overview of ECS benchmark and diagnostics suite

    ECS is a Go-based suite used to collect system and network diagnostics and perform hardware benchmarks. It includes the following capabilities:

    • System and network basics collection via basics and gostun.
    • Hardware testing: CPU (cputest), memory (memorytest), and disk (disktest).
    • Media unlock status checks via UnlockTests.
    • IP quality and security analysis via securityCheck.
    • Mail port testing via portchecker.
    • Network routing and performance tests via backtrace, nt3, speedtest, and pingtest.

    It supports root/admin and non-root environments, as well as offline execution.

  2. Overview of oneclickvirt virtualization control panel

    oneclickvirt is an open-source control panel designed to interface with mainstream virtualization technologies. It supplements features not natively supported by virtualization platforms, including user management, traffic monitoring, NAT port mapping, and custom system image management.
  3. Overview of oneclickvirt/qemu virtualization features

    The oneclickvirt/qemu project provides a lightweight virtualization solution based on QEMU/KVM that allows for the creation of individual or batch KVM virtual machines without requiring management platforms like Proxmox VE or Incus. Key features include:

    • Independent SSH ports and port mapping for each VM.
    • Automatic IPv4/IPv6 allocation and port forwarding.
    • Batch creation with automatic logging of VM information.
    • Support for both x86_64 (amd64) and ARM64 architectures.
    • Support for domestic CDN mirror acceleration.
  4. Overview of containerd + nerdctl runtime features

    This solution uses a containerd + nerdctl runtime to create NAT servers. Key technical features include:

    • Component Stack: Installs nerdctl-full which includes containerd, runc, nerdctl, CNI, and buildkitd.
    • Images: Uses custom-compiled base images from GitHub Releases (prioritizing offline loading, falling back to official images).
    • Networking: Each container is provided with one external SSH port and 25 consistent internal/external ports. Supports IPv6 outbound (using ULA NAT66 for SLAAC /64 scenarios when public /128 is not assigned).
    • Container Security & Isolation: Creates non-privileged containers by default and supports lxcfs mounting if installed on the host.
    • Storage Management: Supports disk limit parameters (requires xfs/btrfs snapshotter with storage-opt support).
    • Optimization: Supports domestic CDN image acceleration.
  5. Overview of QEMU/KVM lightweight virtualization project

    This project provides a pure QEMU/KVM virtualization solution for batch or individual creation of virtual machines without requiring management platforms like Proxmox VE or Incus. Key features include:

    • Dedicated SSH ports and port mapping for each VM.
    • Automatic IPv4/IPv6 allocation and port forwarding.
    • Batch creation with automatic logging.
    • Support for X86_64 and ARM64 architectures.
    • Support for domestic CDN mirror acceleration.
  6. Overview of KubeVirt one-click deployment features

    This project provides one-click deployment and management of KVM virtual machines using KubeVirt on a k3s cluster. Key features include:

    • Automated deployment of the full k3s + KubeVirt environment.
    • VM management via KubeVirt Custom Resource Definitions (CRDs).
    • Dedicated SSH ports and port mapping for each VM.
    • Automatic IPv4/IPv6 allocation and port forwarding.
    • Batch VM creation with automatic logging.
    • Support for X86_64 and ARM64 architectures.
    • Support for domestic CDN mirror acceleration.
  7. Overview of oneclickvirt/kubevirt features

    The oneclickvirt/kubevirt project enables one-click deployment and management of KVM virtual machines on a Kubernetes (k3s) cluster using KubeVirt CRDs. Key features include:

    • Automated deployment of the full k3s + KubeVirt environment.
    • Independent SSH ports and port mapping for each VM.
    • Automatic IPv4/IPv6 allocation and port forwarding.
    • Support for bulk VM creation with automatic logging.
    • Compatibility with x86_64 (amd64) and ARM64 architectures.
    • Support for domestic CDN mirror acceleration.
  8. Docker NAT Server Project Features and Limitations

    The project provides bulk or individual NAT server provisioning via Docker with the following characteristics:

    • OS Options: Defaults to Debian; Alpine is also available.
    • Port Mapping: Each container includes 1 external SSH port and 25 ports that are consistent between internal and external networks.
    • Virtualization Limit: Containers are created as non-privileged and do not mount the host's Docker daemon communication socket. Consequently, Docker cannot be nested (run) inside these NAT servers.
    • Resource Isolation: lxcfs is installed and enabled by default, ensuring that CPU and memory queries inside the container reflect the configured limits rather than the host's total resources.
    • Disk Management: Users can choose whether to share the host's disk or install an environment with restricted disk size.
  9. Verify environment requirements for oneclickvirt deployment

    To deploy oneclickvirt, ensure the environment meets the following criteria:

    • Architectures: amd64 or arm64.
    • Operating Systems: Linux, Windows, or any self-compiled system architecture.
    • Network: Public network access is required. The deployed machine does not need a dedicated public IP address unless intranet penetration is required (in which case the controller must be on a Linux host with a dedicated public IPv4).
    • Deployment Options: Supports all-in-one Docker images (including database) or docker-compose with separated containers.
    • Frontend: Static files are deployed via nginx, caddy, or OpenResty. For non-Docker/non-source deployments, a reverse proxy to the backend port for the API path is required.
  10. Understand MySQL and MariaDB automatic engine detection

    The system automatically determines whether to use MySQL or MariaDB SQL dialects based on the actual server response from SELECT VERSION(). It does not rely on the host CPU, browser architecture, or the system.db-type tag. This detection is used during panel startup, database recovery reconnection, the 'Test Connection' phase of the initialization page, and initialization submission.
  11. Install and configure Oracle-server-keep-alive-script

    The Oracle-server-keep-alive-script is designed to maintain resource usage (CPU, Memory, Bandwidth) to prevent server reclamation. While optimized for Oracle Cloud, it works on any ARM or X86_64 architecture.

    Supported Systems:

    • Ubuntu 20+
    • Debian 10+
    • CentOS 7+
    • Oracle Linux 8+
    • AlmaLinux 8.5+

    Installation Process: During installation, the script provides a menu: Option 1 for installation, Option 2 for uninstallation, Option 3 for updating the guide script, and Option 4 to exit.

    • Pressing Enter through the prompts will enable all resource occupations.
    • Enter n to skip specific resource occupations.
    • For bandwidth occupation, you can choose between speedtest-go or wget.
    • To use default bandwidth parameters, press Enter (default n); to customize, enter y.
    # Option 1: Download and run
    curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh
    
    # Option 2: Run local script
    bash oalive.sh
    
    # Option 3: Run directly from URL
    bash <(curl -sSLk https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)