Skip to content

A modern, modular CLI toolkit for Linux power users, sysadmins, and homelabbers. Written in Rust. Supports Btrfs, Restic, Snapper, systemd, Neovim, plugin management, Proxmox helpers, and more.

License

Notifications You must be signed in to change notification settings

GhostKellz/ghostctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

97 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GhostCTL Logo

πŸš€ GhostCTL - Professional System Administration Toolkit

The Ultimate Linux Management Suite for Power Users, DevOps Engineers & Homelabbers

Rust Platform Build Status Arch Linux Btrfs Rust NVIDIA Vim Zsh Proxmox Docker

GhostCTL is a comprehensive system administration platform that transforms complex Linux operations into intuitive, interactive workflows. Built in Rust for performance and reliability, it provides enterprise-grade tools through a user-friendly interface.

πŸš€ Quick Install

# One-line installation for all Linux distributions
curl -sSL https://ghostctl.sh | bash

Supports: Arch Linux, Ubuntu/Debian, Fedora/RHEL, openSUSE, Alpine, macOS Auto-detects: Your OS and installs via package manager, binary, or source build

πŸ“‹ Detailed Installation Guide β€’ 🎯 All Installation Options

🎯 Why GhostCTL?

  • πŸ”§ All-in-One Solution: Replace dozens of tools with one comprehensive platform
  • ⚑ Performance: Rust-powered for speed and memory efficiency
  • 🎨 User Experience: Interactive menus replace complex command combinations
  • 🏒 Enterprise-Ready: Production-tested with professional-grade features
  • πŸ”„ Automation: Reduce manual work with intelligent workflows
  • πŸ“š Learning-Friendly: Built-in help and guided operations

✨ Core Features

πŸ—οΈ Infrastructure as Code

  • Ansible Management: Complete playbook lifecycle, inventory management, and execution
  • Terraform Integration: Plan/Apply/Destroy workflows with state management
  • Multi-Cloud Support: AWS, Azure, GCP, DigitalOcean, Hetzner, Linode
  • CI/CD Integration: Pipeline templates and automated deployments

πŸ” Security & Key Management

  • SSH Key Management: Generation, deployment, GitHub/GitLab integration, security auditing
  • GPG Key Operations: Full lifecycle management, encryption, signing, keyserver sync
  • SSL Certificate Management: GhostCert integration for automated certificate handling
  • Security Auditing: Comprehensive system security assessment and recommendations

πŸ’Ύ Data Protection & Backups (Enhanced in v0.8.0)

  • Btrfs Integration: Snapshot management, subvolume operations, filesystem optimization
  • Snapper Automation: Automated snapshot creation, cleanup, and rollback capabilities
  • Restic CLI Tools: Interactive restic backup management with repository initialization, snapshot browsing, restoration workflows, and integrity checking
  • Automated Workflows: Custom backup scripts with systemd timer integration

☁️ Object Storage & S3 Management (New in v1.0.0)

  • MinIO Cluster Management: Distributed cluster setup, node management, and health monitoring
  • Erasure Code Configuration: Automated EC setup with performance vs storage optimization
  • Performance Tuning: System-level optimization for storage, network, and memory usage
  • Multi-Tenant Setup: User management, policy configuration, and access control
  • Backup & Replication: Cross-cluster replication and disaster recovery planning
  • S3 Compatible Operations: Bucket management, file operations, and AWS CLI integration

🐳 DevOps & Container Management (Enhanced in v1.0.0)

  • Docker Registry Mirror Setup: Local registry deployment with corporate proxy support and authentication
  • Container Cleanup Tools: Automated cleanup for images, volumes, networks, and containers with safety checks
  • Docker Registry: Private registry management (docker.cktechx.io integration)
  • Container Orchestration: Docker Compose, Swarm, and deployment automation
  • GitHub Templates: Direct deployment from repository templates
  • Environment Management: Multi-environment project isolation

πŸ₯ Proxmox VE Management (Major v1.0.0 Update)

  • Template Management: Complete lifecycle management for LXC containers, VM ISOs, and appliance templates with upload/download/customization capabilities
  • Storage Migration: VM/container storage migration tools with bulk operations and storage pool management
  • Backup Rotation & Pruning: Automated backup job management, retention policies, verification, and pruning with comprehensive analytics
  • Firewall Automation: Advanced firewall rule management with security profiles, network scanning (gscan integration), and automated policy enforcement
  • Enhanced Script Categories: Container templates, VMs, system administration, monitoring tools, and development environments
  • Cluster Management: Join/leave cluster operations, node management, and cluster status monitoring
  • Bulk Operations: Mass VM/container start/stop/restart with confirmation prompts
  • System Administration: Post-install setup, backup management, resource usage reports, and network configuration
  • Community Scripts Integration: Access to 40+ categorized Proxmox helper scripts with preview and execution

πŸ› οΈ System Administration (Enhanced in v0.8.0)

  • Arch Linux Optimization: Package management, AUR helpers with persistent preferences, system fixes
  • AUR Helper Management: Preference system for reaper/paru/yay with automatic detection and installation
  • Service Management: Systemd operations, log analysis, performance monitoring
  • Network Diagnostics: Enhanced DNS tools with DNSSEC verification, interactive network scanning, and comprehensive troubleshooting

πŸ’» Development Environment

  • Neovim Management: Health checks, plugin management, LSP configuration
  • Shell Enhancement: ZSH, Oh My Zsh, Powerlevel10k with automated setup
  • Terminal Optimization: Tmux, screen, and terminal multiplexer management
  • Git Integration: Repository management and workflow automation

πŸš€ Quick Start

Installation

Arch Linux (AUR)

yay -S ghostctl

Universal Installer (All Distributions) - Recommended

curl -sSL https://raw.githubusercontent.com/ghostkellz/ghostctl/main/install/install.sh | bash

The universal installer supports:

  • Linux: x86_64 and aarch64 (GNU and musl)
  • Automatic OS Detection: Arch, Debian/Ubuntu, RHEL/Fedora
  • Fallback Building: Builds from source if binaries aren't available
  • Custom Install Locations: Use --install-dir for custom paths

Manual Installation

# Clone repository
git clone https://github.com/ghostkellz/ghostctl.git
cd ghostctl/ghostctl

# Build from source
cargo build --release

# Install
sudo install target/release/ghostctl /usr/local/bin/

First Run

# Interactive main menu
ghostctl

# Show version information
ghostctl version

# View all available commands
ghostctl --help

# Quick access to specific tools
ghostctl dev menu               # Development environment
ghostctl docker menu          # Docker management
ghostctl --dev                # Development menu flag

πŸ“‹ Command Overview

Core Commands

# Main interactive menu
ghostctl                        # Launch main menu
ghostctl version               # Show version information

# Package & system management
ghostctl arch menu             # Arch Linux specific tools
ghostctl backup menu           # Backup management
ghostctl btrfs menu            # Btrfs operations

# DevOps & Infrastructure  
ghostctl docker menu           # Docker/container management
ghostctl proxmox menu          # Proxmox VE management (enhanced v1.0.0)
ghostctl cloud menu            # Cloud provider tools

# Storage Management
ghostctl storage s3            # MinIO/S3 cluster management
ghostctl storage local         # Local storage tools
ghostctl storage network       # Network storage (NFS/CIFS)

# Development & Configuration
ghostctl dev menu              # Development environment
ghostctl nvim menu             # Neovim management
ghostctl shell menu            # Shell & terminal setup

# Security & Network
ghostctl network menu          # Network diagnostics & tools
ghostctl security menu         # Security & key management
ghostctl nginx menu            # Nginx configuration

Quick Access Flags

# Direct menu access
ghostctl --dev                 # Development environment menu
ghostctl --docker             # Docker management menu  
ghostctl --pve                 # Proxmox VE menu
ghostctl --system             # System management menu

Quick Operations

# Version and help
ghostctl version              # Show detailed version info
ghostctl backup menu             # Backup management system
ghostctl restic menu             # Interactive restic CLI tools

# Infrastructure & Virtualization
ghostctl proxmox menu            # Enhanced Proxmox VE management (v1.0.0)
ghostctl pve templates           # PVE template management
ghostctl pve firewall            # PVE firewall automation with gscan
ghostctl pve storage             # PVE storage migration tools
ghostctl pve backup              # PVE backup rotation & pruning

# Object Storage & MinIO
ghostctl storage s3              # MinIO cluster management
ghostctl s3 cluster              # MinIO distributed setup
ghostctl s3 performance         # MinIO performance tuning

# Infrastructure as Code  
ghostctl infrastructure ansible  # Ansible management
ghostctl infrastructure terraform # Terraform operations

# Development & System
ghostctl arch aur               # AUR helper management
ghostctl nvim health-check       # Neovim diagnostics
ghostctl shell setup-zsh         # ZSH configuration

πŸ—οΈ Architecture

GhostCTL/
β”œβ”€β”€ 🏠 Core System
β”‚   β”œβ”€β”€ Interactive Menu System
β”‚   β”œβ”€β”€ Configuration Management
β”‚   └── Plugin Architecture
β”‚
β”œβ”€β”€ πŸ”§ System Administration
β”‚   β”œβ”€β”€ Package Management
β”‚   β”œβ”€β”€ Service Control
β”‚   └── System Diagnostics
β”‚
β”œβ”€β”€ πŸ’Ύ Data Management
β”‚   β”œβ”€β”€ Btrfs Operations
β”‚   β”œβ”€β”€ Snapshot Management
β”‚   β”œβ”€β”€ Backup Automation
β”‚   └── Object Storage (S3/MinIO)
β”‚
β”œβ”€β”€ 🐳 DevOps Platform
β”‚   β”œβ”€β”€ Container Management
β”‚   β”œβ”€β”€ Registry Operations
β”‚   β”œβ”€β”€ Registry Mirroring
β”‚   └── CI/CD Integration
β”‚
β”œβ”€β”€ πŸ₯ Virtualization Platform
β”‚   β”œβ”€β”€ Proxmox VE Management
β”‚   β”œβ”€β”€ Template Lifecycle
β”‚   β”œβ”€β”€ Storage Migration
β”‚   β”œβ”€β”€ Backup & Pruning
β”‚   └── Firewall Automation
β”‚
β”œβ”€β”€ πŸ—οΈ Infrastructure Tools
β”‚   β”œβ”€β”€ Ansible Automation
β”‚   β”œβ”€β”€ Terraform Management
β”‚   └── Multi-Cloud Support
β”‚
└── πŸ” Security Suite
    β”œβ”€β”€ Key Management
    β”œβ”€β”€ Certificate Handling
    └── Security Auditing

πŸ“š Documentation

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

# Clone and enter directory
git clone https://github.com/ghostkellz/ghostctl.git
cd ghostctl

# Install dependencies
cargo build

# Run tests
cargo test

# Install development version
cargo install --path ghostctl

πŸ“¦ Package Information

Dependencies

  • Core: Rust 1.70+, OpenSSL
  • Optional: Docker, Ansible, Terraform, Azure CLI, AWS CLI, PowerDNS
  • Recommended: Snapper, Restic, Neovim, ZSH, gscan (for network scanning)

Supported Distributions

  • βœ… Arch Linux (native package)
  • βœ… Ubuntu/Debian (deb package)
  • βœ… Fedora/RHEL (rpm package)
  • βœ… openSUSE (universal installer)
  • βœ… Proxmox VE (specialized installer)

πŸ›‘οΈ Security

GhostCTL follows security best practices:

  • πŸ” Secure key generation and management
  • πŸ›‘οΈ Permission validation and enforcement
  • πŸ” Security auditing and recommendations
  • πŸ“Š Regular security assessments
  • πŸ”’ Encrypted backup and communication

Report security issues to: security@ghostctl.dev

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Rust Community - For the amazing ecosystem
  • Linux Community - For inspiration and feedback
  • Contributors - For making this project better
  • Users - For trust and valuable feedback

πŸ“ž Support


Made for for the Linux community

GhostCTL - Simplifying Linux administration, one command at a time.

About

A modern, modular CLI toolkit for Linux power users, sysadmins, and homelabbers. Written in Rust. Supports Btrfs, Restic, Snapper, systemd, Neovim, plugin management, Proxmox helpers, and more.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages