Skip to content

System Requirements

Before installing Filament Tenancy, make sure your environment meets the following requirements.

  • Minimum Version: PHP 8.1 or higher
  • Required Extensions:
    • pdo
    • pdo_mysql or pdo_pgsql
    • mbstring
    • openssl
    • json
    • tokenizer
    • xml
    • ctype
    • fileinfo
  • Minimum Version: Laravel 10.x
  • Recommended Version: Laravel 11.x
  • Configuration: Laravel must be correctly configured with database access
  • Required Version: Filament ^4.0
  • Installation: Filament can be installed automatically during package installation
  • Panel: At least one Filament panel must be configured
  • 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)
  • 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
  • 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
  • File System: Write permissions on:
    • storage/
    • bootstrap/cache/
    • Configuration directories
  • Database: Database user with permissions:
    • CREATE DATABASE
    • CREATE USER (optional, depending on configuration)
    • GRANT (for database permissions)
  • 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
  • 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)
  • HTTPS Recommended: SSL/TLS certificates for production
  • Wildcard SSL: For automatic subdomains (optional)
  • Composer: Version 2.x recommended
  • Git: For version control
  • NPM/Node: For compiling assets (if applicable)
  • PHP Support: Editor with support for PHP 8.1+
  • Laravel: Laravel support (recommended)
  • Filament: Basic knowledge of Filament (recommended)
  • Environment Variables: Protected .env file and not versioned
  • Credentials: Secure database credentials
  • Backups: Backup strategy for tenant databases
  • Monitoring: Monitoring and alerting system
  • 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)

The package installer automatically verifies requirements:

Terminal window
php artisan filament-tenancy:install

The installer will verify:

  • ✅ PHP version
  • ✅ Required PHP extensions
  • ✅ Laravel version
  • ✅ Database compatibility
  • ✅ File system permissions
  • ✅ Database permissions
Terminal window
php -v
# Should show PHP 8.1 or higher
Terminal window
php -m | grep pdo
php -m | grep mbstring
php -m | grep openssl
Terminal window
# MySQL
mysql --version
# PostgreSQL
psql --version
Terminal window
# Verify write permissions
ls -la storage/
ls -la bootstrap/cache/

Problem: PHP version lower than 8.1 Solution: Update PHP to version 8.1 or higher

Problem: PHP extensions not installed Solution: Install required extensions using your package manager

Problem: SQLite or old MySQL/PostgreSQL version Solution: Use MySQL 5.7+ or PostgreSQL 10+

Problem: Database user without CREATE DATABASE permissions Solution: Grant necessary permissions to the database user

Once you’ve verified that you meet all requirements:

  1. Proceed to the installation guide
  2. Review the initial configuration
  3. Configure the central database