Skip to content

A modern, interactive command-line tool for provisioning and configuring production-ready servers with ease.

License

Notifications You must be signed in to change notification settings

shaiknoorullah/serverforge

Repository files navigation

ServerForge CLI

A modern, interactive command-line tool for provisioning and configuring production-ready servers with ease.

ServerForge CLI Banner npm version downloads license

Overview

ServerForge is a powerful, TypeScript-based CLI tool designed to streamline the setup and configuration of production servers. It breaks down the complex process of server provisioning into intuitive, interactive modules with beautiful terminal interfaces.

Features

  • 🧙‍♂️ Interactive Wizard - Guided setup with intelligent defaults
  • 🐳 Docker Integration - Seamless container management
  • ☸️ Kubernetes Setup - Multiple distribution support (k3s, microk8s, minikube)
  • 🗄️ Database Deployment - Both containerized and native options
  • 🔧 Infrastructure as Code - Terraform and Ansible integration
  • 🛠️ DevOps Utilities - Essential tools for modern operations
  • 🔒 Security Hardening - Best-practice server security
  • 🎨 Beautiful UI - Spinners, colors, and progress bars

Installation

# Install globally
npm install -g serverforge-cli

# Or run with npx
npx serverforge-cli

Quick Start

# Launch the interactive wizard
serverforge wizard

# Or use specific commands
serverforge system update
serverforge docker install
serverforge kubernetes setup --distribution=k3s

Commands

ServerForge organizes functionality into logical command groups:

System Commands

# Update system packages
serverforge system update

# Install essential tools
serverforge system install-essentials

# Configure firewall
serverforge system setup-firewall

Docker Commands

# Install Docker and Docker Compose
serverforge docker install

# Set up container networks
serverforge docker network-setup

Kubernetes Commands

# Install Kubernetes
serverforge kubernetes install --distribution=<k3s|microk8s|minikube>

# Deploy ArgoCD
serverforge kubernetes deploy-argocd

Database Commands

# Deploy databases as containers
serverforge database deploy-containers

# Deploy databases on Kubernetes
serverforge database deploy-kubernetes

Terraform Commands

# Initialize Terraform modules
serverforge terraform init-modules

Ansible Commands

# Create Ansible playbooks
serverforge ansible create-playbooks

# Run system hardening playbook
serverforge ansible run-hardening

Tools Commands

# Install DevOps utility tools
serverforge tools install-devops-suite

Advanced Usage

ServerForge supports configuration files and environment variables for automation:

# Generate a config file
serverforge init --config=my-config.json

# Use a config file
serverforge wizard --config=my-config.json

Documentation

For full documentation, visit our documentation site.

Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.

License

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

About

A modern, interactive command-line tool for provisioning and configuring production-ready servers with ease.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •