T
Tenanto
Documentation / Index

Index

Updated Jan 25, 2026

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

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:

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:

  1. Global Scopes - Automatic filtering of all queries by tenant_id
  2. Middleware - Request context validation
  3. Policies - Authorization checks as defense-in-depth
  4. 16+ Isolation Tests - Automated verification

Support

See Support Policy for details on what's covered.


Next Steps

  1. Installation Guide - Detailed setup instructions
  2. Admin Panel Guide - Managing tenants and users
  3. Billing Setup - Configure Stripe integration

Thank you for choosing Tenanto!