System Requirements
Before installing Filament Tenancy, make sure your environment meets the following requirements.
Software Requirements
Section titled “Software Requirements”- Minimum Version: PHP 8.1 or higher
- Required Extensions:
pdopdo_mysqlorpdo_pgsqlmbstringopenssljsontokenizerxmlctypefileinfo
Laravel
Section titled “Laravel”- Minimum Version: Laravel 10.x
- Recommended Version: Laravel 11.x
- Configuration: Laravel must be correctly configured with database access
Filament
Section titled “Filament”- Required Version: Filament ^4.0
- Installation: Filament can be installed automatically during package installation
- Panel: At least one Filament panel must be configured
Database
Section titled “Database”- Minimum Version: MySQL 5.7 or higher
- Recommended Version: MySQL 8.0 or higher
- Required Features:
- Support for multiple databases
- CREATE DATABASE permissions for the database user
- InnoDB engine (recommended)
PostgreSQL
Section titled “PostgreSQL”- Minimum Version: PostgreSQL 10 or higher
- Recommended Version: PostgreSQL 12 or higher
- Required Features:
- Support for multiple databases
- CREATE DATABASE permissions for the database user
SQLite
Section titled “SQLite”- Not Supported: SQLite is not compatible with multi-database tenancy
- Reason: SQLite does not support multiple databases in the same instance
- Alternative: Use MySQL or PostgreSQL for development and production
Server Requirements
Section titled “Server Requirements”Permissions
Section titled “Permissions”- File System: Write permissions on:
storage/bootstrap/cache/- Configuration directories
- Database: Database user with permissions:
CREATE DATABASECREATE USER(optional, depending on configuration)GRANT(for database permissions)
PHP Configuration
Section titled “PHP Configuration”- memory_limit: Minimum 128M (recommended 256M or higher)
- max_execution_time: Sufficient for database operations
- upload_max_filesize: Configured according to needs
- post_max_size: Configured according to needs
Network Requirements
Section titled “Network Requirements”Domains and Subdomains
Section titled “Domains and Subdomains”- DNS Configured: For domain/subdomain-based multi-tenancy:
- DNS configured for central domains
- DNS configured for tenant subdomains (if applicable)
- Wildcard DNS for automatic subdomains (optional)
SSL Certificates
Section titled “SSL Certificates”- HTTPS Recommended: SSL/TLS certificates for production
- Wildcard SSL: For automatic subdomains (optional)
Development Requirements
Section titled “Development Requirements”- Composer: Version 2.x recommended
- Git: For version control
- NPM/Node: For compiling assets (if applicable)
IDE/Editor
Section titled “IDE/Editor”- PHP Support: Editor with support for PHP 8.1+
- Laravel: Laravel support (recommended)
- Filament: Basic knowledge of Filament (recommended)
Production Requirements
Section titled “Production Requirements”Security
Section titled “Security”- Environment Variables: Protected
.envfile and not versioned - Credentials: Secure database credentials
- Backups: Backup strategy for tenant databases
- Monitoring: Monitoring and alerting system
Performance
Section titled “Performance”- Database Server: Sufficient resources for multiple databases
- Memory: Sufficient memory to handle multiple connections
- Cache: Configured cache system (Redis/Memcached recommended)
- Queue: Queue system for asynchronous operations (optional but recommended)
Requirements Verification
Section titled “Requirements Verification”Verification Command
Section titled “Verification Command”The package installer automatically verifies requirements:
php artisan filament-tenancy:installThe installer will verify:
- ✅ PHP version
- ✅ Required PHP extensions
- ✅ Laravel version
- ✅ Database compatibility
- ✅ File system permissions
- ✅ Database permissions
Manual Verification
Section titled “Manual Verification”Verify PHP
Section titled “Verify PHP”php -v# Should show PHP 8.1 or higherVerify Extensions
Section titled “Verify Extensions”php -m | grep pdophp -m | grep mbstringphp -m | grep opensslVerify Database
Section titled “Verify Database”# MySQLmysql --version
# PostgreSQLpsql --versionVerify Permissions
Section titled “Verify Permissions”# Verify write permissionsls -la storage/ls -la bootstrap/cache/Requirements Troubleshooting
Section titled “Requirements Troubleshooting”Old PHP Version
Section titled “Old PHP Version”Problem: PHP version lower than 8.1 Solution: Update PHP to version 8.1 or higher
Missing Extensions
Section titled “Missing Extensions”Problem: PHP extensions not installed Solution: Install required extensions using your package manager
Incompatible Database
Section titled “Incompatible Database”Problem: SQLite or old MySQL/PostgreSQL version Solution: Use MySQL 5.7+ or PostgreSQL 10+
Insufficient Permissions
Section titled “Insufficient Permissions”Problem: Database user without CREATE DATABASE permissions Solution: Grant necessary permissions to the database user
Next Steps
Section titled “Next Steps”Once you’ve verified that you meet all requirements:
- Proceed to the installation guide
- Review the initial configuration
- Configure the central database