Skip to content

francoism90/stry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 stry

Video-on-Demand Platform

Tests License Laravel Inertia PostgreSQL Podman

DemoDocumentationInstallation


🎯 Introduction

stry is a powerful video-on-demand (VOD) media distribution system that allows users to access videos, television shows and movies with enterprise-grade streaming capabilities.

✨ Key Features

  • 🎥 HLS Streaming - Built-in HLS playlist generation with adaptive bitrate support
  • 🔐 Segment Encryption - Secure video content with encryption and authorization
  • 📱 Responsive UI - Modern interface powered by Inertia.js and NuxtUI
  • 🚀 High Performance - Powered by Laravel Octane and PostgreSQL
  • 🔍 Fast Search - Lightning-fast search with Typesense
  • 🐳 Container-Ready - Fully containerized with Podman/Quadlet support

Built with laravel-ffmpeg, offering professional-grade video processing capabilities.

Note

This is a personal project that can be used personally or as a reference guide for building your own streaming platform.


📸 Demo

For WIP screenshots, please check out: https://github.com/francoism90/.github/tree/main/stry

Note

A hosted demo is planned, but not yet available.


🛠️ Tech Stack

Category Technology
Backend Laravel 12.x
Frontend Inertia 2.x with NuxtUI
Database PostgreSQL 18.x
Containers Podman 5.x
Search Typesense 29.x
Video Processing Laravel FFmpeg

📋 Prerequisites

System Requirements:

  • 🐧 Linux (Debian, Fedora, Arch, CentOS, Ubuntu, etc.)
  • 🐳 Podman 5.3+ with Quadlet (systemd) support
  • 🛠️ Basic tools: git, bash

📚 Documentation

Comprehensive guides are available in the docs/ folder:

Guide Description
🚀 Production Setup Deploy to production
💻 Development Guide Local development setup
⚙️ Configuration Configuration options
🔧 System Setup System requirements
🐳 Podman Guide Container management
🌐 Proxy Setup Reverse proxy configuration
☁️ S3 Storage Object storage setup
🎮 Interaction CLI usage and commands

Tip

Quick start: Choose between Production or Development setup.


🚀 Usage

Starting the Instance

systemctl --user start stry proxy

The instance will be available at: https://stry.test

Creating an Admin User

For testing purposes only, seed a super-admin user:

stry a db:seed --class=AdminSeeder

Warning

Only use the admin seeder for testing! Never use in production.

Tip

See the Interaction Guide for a Laravel Sail-style shell utility approach.

Admin Services

The following services are only accessible when logged in as super-admin:

Service URL Description
🌊 Horizon https://stry.test/horizon Queue monitoring and management
🔭 Telescope https://stry.test/telescope Debugging assistant (dev only)

📝 License

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

⭐ Support

If you find this project useful, please consider giving it a star!