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

Common Issues

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)