Skip to main content

1. Getting Started

This guide is designed for IT professionals who are familiar with Linux, servers, networking, and modern DevOps practices. If you're comfortable with Docker, containerization, and command-line administration, you're in the right place.

Prerequisites

Before installing Infinity Tools, ensure you have:

Required

  • Linux Server - Any modern Linux distribution (Ubuntu, Debian, CentOS, Fedora, Arch, etc.)
  • Root/Sudo Access - Full administrative privileges
  • Internet Connection - Required for downloading dependencies and Docker images
  • Minimum 2GB RAM - Recommended 4GB+ for running multiple services
  • 20GB+ Storage - For applications and data (more recommended for production)

Technical Knowledge Assumed

This guide assumes you're familiar with:

  • Linux command-line operations
  • Docker and Docker Compose
  • Basic networking concepts (ports, DNS, reverse proxies)
  • SSL/TLS certificates and Let's Encrypt
  • SSH connections and key management
  • System administration basics

Server Setup Options

Option 1: Self-Hosted Server

If you have physical hardware or are running a virtualization platform:

Requirements:

  • Physical server or VM with a supported Linux distribution
  • Direct internet access or through a router/firewall
  • Ability to configure DNS records (for SSL certificates)

Considerations:

  • Network configuration and firewall rules
  • Static IP address recommended
  • Domain name for SSL certificates (optional but recommended)

Option 2: Cloud/VPS Provider

Most IT professionals will use a cloud provider. Popular options include:

Hetzner Cloud (Recommended)

  • Excellent price-to-performance ratio
  • EU-based with strong data protection
  • Simple interface, great for automation
  • Starting at ~€4/month for basic instances

DigitalOcean

  • Developer-friendly interface
  • Strong documentation and community
  • Good performance and reliability
  • Starting at $6/month for basic droplets

Other Options:

  • AWS EC2, Google Cloud Platform, Azure (more complex but powerful)
  • Linode, Vultr, Scaleway (good alternatives)
  • Any provider that offers a Linux server with root access

Server Configuration

Regardless of your hosting choice, configure your server with:

  1. Fresh Linux Installation
    • Clean install of your preferred distribution
    • All security updates applied (apt update && apt upgrade or equivalent)
  2. Non-Root User with Sudo
    • Create a user account with sudo privileges
    • SSH key authentication configured (password auth disabled recommended)
  3. Basic Firewall
    • At minimum, allow SSH (port 22) and HTTP/HTTPS (ports 80/443)
    • UFW or firewalld configured and enabled
  4. DNS Configuration (for SSL certificates)
    • Domain name pointing to your server's IP address
    • If using Traefik, ensure DNS A record is configured before installation

System Requirements

Minimum Specifications

  • CPU: 1 core (2 cores recommended)
  • RAM: 2GB (4GB+ recommended)
  • Storage: 20GB SSD (more for production workloads)
  • Network: Stable internet connection
  • CPU: 2-4 cores
  • RAM: 4-8GB
  • Storage: 50GB+ SSD with backup storage
  • Network: 100Mbps+ connection

Storage Considerations

Infinity Tools stores data in /opt/speedbits/ by default:

  • Application data volumes
  • Database files
  • Configuration files
  • SSL certificates

Ensure sufficient disk space and consider:

  • Using separate volumes for databases
  • Regular backup strategies
  • Monitoring disk usage

What You'll Need Before Installation

1. Domain Name (Optional but Recommended)

For automatic SSL certificates via Let's Encrypt:

  • A domain name you control
  • Ability to create DNS A records
  • DNS pointing to your server's IP address

Without a domain: You can still use Infinity Tools with self-signed certificates or IP-based access, but SSL won't be automatically trusted by browsers.

2. Email Address

For SSL certificate notifications and administrative purposes:

  • Valid email address (for Let's Encrypt certificate warnings)
  • Consider a dedicated email for server administration

3. SSH Access

Ensure you can:

  • Connect to your server via SSH
  • Use sudo/root privileges
  • Transfer files if needed (SCP/SFTP)

Next Steps

Once your server is ready:

  1. SSH into your server
  2. Download or transfer Infinity Tools installer
  3. Run the installer (covered in the next article)

The installation process will:

  • Check system readiness
  • Install Docker if needed
  • Set up Infinity Tools in /opt/InfinityTools/
  • Create the infinity-tools command for easy access

Quick Reference

Installation Path: /opt/InfinityTools/
Command: sudo infinity-tools
Data Directory: /opt/speedbits/
Configuration: /opt/speedbits/_configuration/

Common Considerations

Firewall Ports

Default ports used by Infinity Tools:

  • 80/443 - HTTP/HTTPS (Traefik)
  • 22 - SSH
  • Various - Application-specific ports (configurable)

Docker Resources

Docker will be installed if not present. Consider:

  • Docker daemon configuration
  • Storage driver selection
  • Network configuration
  • Resource limits

Backup Strategy

Infinity Tools includes Borgmatic for backups, but you should also:

  • Plan for backup storage location
  • Configure retention policies
  • Test restore procedures

Troubleshooting

Check System Readiness

Before installation, verify:

# Check OS
cat /etc/os-release

# Check architecture
uname -m

# Check available disk space
df -h

# Check memory
free -h

# Verify sudo access
sudo whoami

Common Issues

Docker conflicts: If Docker is already installed, ensure it's compatible with Infinity Tools requirements.

Port conflicts: Check for existing services using ports 80/443 or other expected ports.

Network issues: Ensure firewall allows necessary traffic and DNS is properly configured.

Ready to Install?

Once your server meets these prerequisites, proceed to the installation guide which will cover:

  • Establishing SSH connection
  • Getting Infinity Tools onto your server
  • Running the installer
  • Initial configuration

Next: Installation and Initial Setup Guide (Article 2)