Tenanto User Guide
Version 1.0.0 | Last Updated: January 2025
Welcome to Tenanto - a production-ready Laravel Multi-Tenant SaaS Boilerplate built with FilamentPHP 3, Stripe billing, and comprehensive testing.
Table of Contents
| Guide | Description |
|---|---|
| Installation Guide | Docker & traditional server setup |
| System Admin Panel | Managing tenants, users, licenses |
| Tenant Admin Panel | Projects, tasks, teams, billing |
| Billing & Subscriptions | Stripe setup and configuration |
| API Quick Start | Authentication and endpoints |
| Customization | Branding, models, features |
| Troubleshooting | Common issues and solutions |
| Support Policy | What's included with your purchase |
Quick Start
Prerequisites
- Docker Desktop (recommended) OR
- PHP 8.4+, PostgreSQL 16+, Redis 7+, Node.js 20+
5-Minute Installation
# 1. Extract the package
unzip tenanto-v1.0.0.zip
cd tenanto
# 2. Start Docker
docker compose up -d
# 3. Install & configure
docker compose exec app composer install
docker compose exec app npm install && npm run build
docker compose exec app php artisan key:generate
docker compose exec app php artisan migrate --seed
# 4. Add to hosts file (see Installation Guide for details)
# 127.0.0.1 tenanto.local admin.tenanto.local demo.tenanto.local
Default Access
| Panel | URL | Login |
|---|---|---|
| System Admin | http://admin.tenanto.local/admin | [email protected] / password |
| Demo Tenant | http://demo.tenanto.local/app | [email protected] / password |
Important: Change default passwords immediately after installation!
What's Included
Core Features
| Feature | Description |
|---|---|
| Multi-Tenancy | Single database with tenant isolation via global scopes |
| FilamentPHP 3 | Modern admin panels for system and tenant management |
| Stripe Billing | Subscriptions, trials, webhooks, customer portal |
| Teams & Roles | Owner, Admin, Member roles with permissions |
| API with Sanctum | RESTful API with rate limiting and documentation |
Quality Assurance
| Metric | Value |
|---|---|
| PHP Tests | 607 tests |
| E2E Tests | 484 Playwright tests |
| PHPStan | Level 8, 0 errors |
| Test Coverage | Critical paths 100% |
Example Module
The package includes a complete Projects & Tasks module demonstrating:
- Tenant-isolated models
- Filament CRUD resources
- API endpoints
- Policies and permissions
You can use it as reference or remove it entirely (see Customization Guide).
Architecture Overview
┌─────────────────────────────────────────────────────────────┐
│ Central Domain │
│ (admin.yourdomain.com) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ System Admin Panel │ │
│ │ Manage Tenants, Users, Licenses │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
┌────────────────────┼────────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Tenant A │ │ Tenant B │ │ Tenant C │
│ (acme.domain) │ │ (corp.domain) │ │ (demo.domain) │
│ │ │ │ │ │
│ ┌─────────────┐ │ │ ┌─────────────┐ │ │ ┌─────────────┐ │
│ │Tenant Panel │ │ │ │Tenant Panel │ │ │ │Tenant Panel │ │
│ │ /app │ │ │ │ /app │ │ │ │ /app │ │
│ └─────────────┘ │ │ └─────────────┘ │ │ └─────────────┘ │
│ │ │ │ │ │
│ Users, Teams │ │ Users, Teams │ │ Users, Teams │
│ Projects, Tasks │ │ Projects, Tasks │ │ Projects, Tasks │
│ Billing │ │ Billing │ │ Billing │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Data Isolation
Every tenant's data is isolated through:
- Global Scopes - Automatic filtering of all queries by
tenant_id - Middleware - Request context validation
- Policies - Authorization checks as defense-in-depth
- 16+ Isolation Tests - Automated verification
Support
- Documentation: You're reading it!
- Email: [email protected]
- Response Time: 24-48 hours
See Support Policy for details on what's covered.
Next Steps
- Installation Guide - Detailed setup instructions
- Admin Panel Guide - Managing tenants and users
- Billing Setup - Configure Stripe integration
Thank you for choosing Tenanto!