Server Requirements

PHP Requirements

PHP Version

  • PHP 7.4 or higher required
  • PHP 8.0+ recommended for better performance

Required PHP Extensions

  • PDO (for database connections)
  • PDO MySQL driver
  • JSON (for API responses)
  • cURL (for external API requests)
  • GD or Imagick (for image processing)
  • OpenSSL (for secure connections)
  • Zip (for file compression)

PHP Configuration

  • memory_limit: 256M or higher
  • max_execution_time: 300 or higher
  • post_max_size: 64M or higher
  • upload_max_filesize: 64M or higher
  • allow_url_fopen: On

Database Requirements

MySQL/MariaDB

  • MySQL 5.7+ or MariaDB 10.4+
  • InnoDB storage engine
  • UTF8MB4 character set support
  • Minimum 1GB storage space

Database User Privileges

  • SELECT, INSERT, UPDATE, DELETE
  • CREATE, ALTER, DROP
  • INDEX
  • REFERENCES

Web Server Requirements

Apache Requirements

  • Apache 2.4+
  • Required modules:
    • mod_rewrite
    • mod_headers
    • mod_ssl (for HTTPS)
  • AllowOverride All (for .htaccess)

SSL/HTTPS

  • Valid SSL certificate required
  • HTTPS required for:
    • Admin panel access
    • API endpoints
    • Radio stream URLs

File System Requirements

Storage Requirements

  • Minimum 2GB free space
  • Write permissions for:
    • cache/ directory
    • logs/ directory
    • config/ directory

File Permissions

  • Directories: 755 (drwxr-xr-x)
  • Files: 644 (-rw-r--r--)
  • Cache directory: 777 (drwxrwxrwx)

Hardware Requirements

Minimum Requirements

  • CPU:
    • 2 CPU cores
    • 2.0 GHz or higher
    • x86_64 architecture
  • RAM:
    • 4GB minimum
    • 2GB available for PHP/MySQL
    • Additional RAM for caching

Recommended Specifications

  • CPU:
    • 4+ CPU cores
    • 3.0 GHz or higher
    • Support for AES-NI
  • RAM:
    • 8GB or more
    • 4GB available for PHP/MySQL
    • Additional RAM for file caching

Scaling Considerations

  • Resource usage increases with:
    • Number of concurrent users
    • Number of active radio stations
    • Frequency of station updates
  • Consider upgrading resources if:
    • High traffic expected
    • Managing 1000+ stations
    • Frequent bulk imports

Network Requirements

Connectivity

  • Outbound connections allowed for:
    • Radio Garden API (api.radio-garden.com)
    • Radio stream URLs
    • Map tile servers
  • Recommended bandwidth: 100Mbps+
  • Low latency connection recommended

Firewall Configuration

  • Allow HTTP (80) and HTTPS (443)
  • Allow outbound connections to:
    • Radio stream ports (various)
    • External APIs (443)