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)