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: Fresh Linux Installation Clean install of your preferred distribution All security updates applied ( apt update && apt upgrade or equivalent) Non-Root User with Sudo Create a user account with sudo privileges SSH key authentication configured (password auth disabled recommended) Basic Firewall At minimum, allow SSH (port 22) and HTTP/HTTPS (ports 80/443) UFW or firewalld configured and enabled 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 Recommended for Production 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: SSH into your server Download or transfer Infinity Tools installer 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)