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 FrankenPHP Podman

Demo โ€ข Documentation โ€ข Installation


๐ŸŽฏ Introduction

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

โœจ Key Features

  • ๐ŸŽฅ HLS Streaming - Built-in HLS playlist generation with adaptive bitrate support
  • ๐Ÿ” HLS Encryption - Secure video content with encryption
  • ๐Ÿ“ฑ 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

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
Video Streaming Laravel Shaka

๐Ÿ“‹ 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 seed admins for testing! Never use the seeder 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
๐ŸŽ›๏ธ Admin https://stry.test/admin Admin dashboard (WIP)
๐ŸŒŠ 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!