A production-ready starter template for building Stremio addons using Laravel. This template provides a solid foundation for creating high-quality Stremio addons with modern PHP practices.
- 🚀 Built with Laravel 12
 - 🎯 Clean architecture with services and interfaces
 - 🔒 Type-safe with PHP 8.2+
 - 🎨 Modern UI with Vue 3 and Inertia
 - 📦 Easy configuration management
 - 🧪 Testing ready
 - 🐳 Docker support
 
- PHP 8.2+
 - Composer
 - Node.js 18+
 - Docker (optional)
 
- Clone the repository:
 
git clone https://github.com/rleroi/Stremio-Laravel.git
cd Stremio-Laravel- Install dependencies:
 
composer install
npm install- Set up your environment:
 
cp .env.example .env
php artisan key:generate- Start the development server:
 
php artisan serve- Visit 
http://localhost:8000to see your addon. 
docker compose up -dThe template includes an example configuration UI at /configure.
This template implements the Stremio addon protocol with the following endpoints:
/manifest.json- Addon manifest/catalog/{type}/{id}/{extra?}.json- Content catalog/meta/{type}/{id}/{extra?}.json- Content metadata/stream/{type}/{id}/{extra?}.json- Stream information/subtitles/{type}/{id}/{extra?}.json- Subtitles
Each endpoint supports an optional {config} parameter to specify which configuration to use.
app/
├── DataTransferObjects/    # Data transfer objects
│   └── AddonConfig.php     # Configuration DTO
├── Http/
│   ├── Controllers/        # HTTP controllers
│   │   ├── AddonController.php    # Stremio protocol endpoints
│   │   └── ConfigController.php   # Configuration UI
│   └── Resources/          # JSON resources
│       ├── MetaCollection.php
│       ├── MetaResource.php
│       └── StreamResource.php
├── Services/
│   ├── Interfaces/         # Service interfaces
│   │   ├── AddonConfigServiceInterface.php
│   │   ├── AddonManifestServiceInterface.php
│   │   └── CatalogServiceInterface.php
│   └── ...                # Service implementations
└── ...
php artisan testcomposer format
composer lintThe project includes a complete Docker setup for development:
- PHP 8.2 FPM
 - Nginx
 - MySQL 8.0
 - Redis (optional)
 
To start the development environment:
docker compose up -d- Fork the repository
 - Create your feature branch
 - Commit your changes
 - Push to the branch
 - Create a Pull Request
 
This project is open-sourced software licensed under the MIT license.
If you find this template useful, please consider giving it a star ⭐️ on GitHub!
This starter is compatible with Laravel Breeze for authentication (register, login, etc). If you want to enable user authentication features:
- Open 
routes/web.php - Uncomment the Breeze routes section (around line 18)
 - This will enable 
/register,/login,/dashboard, and profile management routes. 
Example:
// Uncomment to enable default Laravel Breeze routes
Route::get('/dashboard', function () {
    return Inertia::render('Dashboard');
})->middleware(['auth', 'verified'])->name('dashboard');
Route::middleware('auth')->group(function () {
    Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
    Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
    Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
});
require __DIR__.'/auth.php';See the Laravel Breeze documentation for more details.