8000 GitHub - rleroi/Stremio-Laravel: A Stremio Addon Template in Laravel PHP
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

rleroi/Stremio-Laravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Stremio Addon Template

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.

Features

  • 🚀 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

Requirements

  • PHP 8.2+
  • Composer
  • Node.js 18+
  • Docker (optional)

Quick Start

  1. Clone the repository:
git clone https://github.com/rleroi/Stremio-Laravel.git
cd Stremio-Laravel
  1. Install dependencies:
composer install
npm install
  1. Set up your environment:
cp .env.example .env
php artisan key:generate
  1. Start the development server:
php artisan serve
  1. Visit http://localhost:8000 to see your addon.

Docker Setup

docker compose up -d

Addon Configuration

The template includes an example configuration UI at /configure.

Stremio Protocol Implementation

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.

Project Structure

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
└── ...

Development

Running Tests

php artisan test

Code Style

composer format
composer lint

Docker Development

The 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

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is open-sourced software licensed under the MIT license.

Support

If you find this template useful, please consider giving it a star ⭐️ on GitHub!

Authentication (Optional)

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.

About

A Stremio Addon Template in Laravel PHP

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  
0