mirror of
https://gitlab.com/vyla-entertainment/documentation.git
synced 2026-11-14 14:37:25 -05:00
huge doc rewrite
This commit is contained in:
38
start-here/architecture.md
Normal file
38
start-here/architecture.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# Our Architecture
|
||||
|
||||
<p class="page-description">How Vyla Home, SDK, and Stream API relate, and where each responsibility belongs.</p>
|
||||
|
||||
## The Vyla stack
|
||||
|
||||
Vyla separates local application management, provider resolution, and client-facing delivery. That separation lets each layer be used on its own while keeping the integration points clear.
|
||||
|
||||
### Vyla Home
|
||||
|
||||
Home is responsible for a desktop session: local configuration, encrypted local credentials, update coordination, managed processes, and the embedded interface. It is the right layer for launching and supervising a local experience.
|
||||
|
||||
### Vyla SDK
|
||||
|
||||
The SDK contains the provider-facing work: source configuration, stream resolution, subtitle retrieval, download lookup, and health probes. It is the right layer when your Node.js application needs to decide how requests are authorized, cached, selected, and returned.
|
||||
|
||||
### Stream API
|
||||
|
||||
Stream API wraps the SDK in a self-hosted HTTP service. Its movie and TV endpoints use Server-Sent Events so metadata can arrive first and usable sources can be delivered progressively. It also provides subtitle, download, health, test, and optional debug routes.
|
||||
|
||||
## Common deployment patterns
|
||||
|
||||
| Pattern | Best for | Key decision |
|
||||
| --- | --- | --- |
|
||||
| Home only | a managed local desktop experience | Home owns the lifecycle of bundled local services |
|
||||
| App + SDK | a Node.js backend with a custom product API | your app owns authentication, policy, and response design |
|
||||
| Player + Stream API | browser or mobile clients that need a stable HTTP contract | deploy Stream API and place it behind TLS when exposed remotely |
|
||||
| Home + Stream API | a local player backed by a local service | keep the service bound and access-controlled for the local environment |
|
||||
|
||||
## Data flow for playback
|
||||
|
||||
1. A client provides a TMDB media ID (plus season and episode for TV).
|
||||
2. Stream API, or your own SDK-based backend, asks active providers for candidates.
|
||||
3. Candidates are checked and successful sources are returned progressively.
|
||||
4. The player begins with the first compatible candidate and keeps later candidates as fallbacks.
|
||||
5. Subtitle and download lookups are separate operations; neither should block first playback.
|
||||
|
||||
Provider availability varies by source and network environment. Build the player experience around fallbacks and empty-result states, as described in [Error handling](/guides/error-handling).
|
||||
54
start-here/introduction.md
Normal file
54
start-here/introduction.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# Vyla Entertainment
|
||||
|
||||
<p class="page-description">A community-built media project focused on freedom, privacy, and giving people control over their own experience.</p>
|
||||
|
||||
<img class="vyla-banner" src="/assets/images/devices.png" alt="A collage of films and shows available through a Vyla experience" loading="lazy" fetchpriority="low" />
|
||||
|
||||
## About Vyla
|
||||
|
||||
Vyla is a community-built media project created around a simple idea: **people should have control over how they experience their media.**
|
||||
|
||||
We started Vyla because we wanted something clean, private, and easy to use without relying on a single company or centralized service. What began as a small project has grown into a collection of applications and tools for desktop, Android, Android TV, and more.
|
||||
|
||||
Vyla is not a streaming service, and we do not host or provide the media itself. Instead, we build the software that brings the experience together while leaving control in the hands of the person using it.
|
||||
|
||||
## Where we come from
|
||||
|
||||
Vyla started as a small web project focused on creating a better way to discover and watch movies and shows. Over time, it grew into a broader project with applications for different platforms alongside the tools that power them.
|
||||
|
||||
We care about keeping Vyla open, accessible, and community-driven. Our project has also been shared by communities such as **FMHY** and **r/Piracy**, where people interested in alternative and self-hosted media solutions have discovered Vyla.
|
||||
|
||||
We are proud to be part of a wider community of people who build, share, and explore alternatives to traditional media platforms.
|
||||
|
||||
## What we make
|
||||
|
||||
Vyla is made up of several projects designed for different ways of using the platform.
|
||||
|
||||
| Platform | Description | Link |
|
||||
| --- | --- | --- |
|
||||
| Vyla Home | Desktop app | [Learn more](/products/home) |
|
||||
| Vyla Go | Android app | [Learn more](/products/go) |
|
||||
| Vyla TV | Android TV app | [Learn more](/products/tv) |
|
||||
| Vyla SDK | Developer SDK | [Learn more](/sdk) |
|
||||
| Stream API | Self-hosted API | [Learn more](/stream-api/overview) |
|
||||
|
||||
## Made for people, not platforms
|
||||
|
||||
We believe software should give people more control, not less.
|
||||
|
||||
That means keeping Vyla local and self-hostable, avoiding unnecessary centralized dependencies, and allowing developers and users to decide how they want to use the project.
|
||||
|
||||
Vyla can be as simple as a TV or mobile app, a desktop application, or the foundation for a completely custom media experience. **You decide how much of Vyla you use and where it runs.**
|
||||
|
||||
## Start exploring
|
||||
|
||||
- **On desktop?** See [Vyla Home](/products/home).
|
||||
- **On Android?** See [Vyla Go](/products/go).
|
||||
- **Using Android TV?** See [Vyla TV](/products/tv).
|
||||
- **Building something with Vyla?** Start with the [SDK quickstart](/sdk/vyla-sdk/quickstart).
|
||||
- **Building your own client?** See the [Stream API](/stream-api/overview).
|
||||
- **Want to understand how everything fits together?** Visit [Our Architecture](/start-here/architecture).
|
||||
|
||||
:::callout-info
|
||||
Vyla is self-hosted software and does not host or distribute media. Please respect applicable laws, upstream terms, and rights-holder requests. See the [DMCA policy](/misc/project/dmca) for removal information.
|
||||
:::
|
||||
17
start-here/who-are-we.md
Normal file
17
start-here/who-are-we.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Welcome to Vyla Documentation
|
||||
|
||||
This is the main documentation page for Vyla. Here you can find information about the product, its features, and how to use it.
|
||||
|
||||
You may wonder who **we are**?
|
||||
|
||||
Vyla started from the web project which initially intended to create a clean environment where one could stream movies and TV shows free from all the unnecessary elements. Originally, it was developed mainly as a frontend which embedded other players. With time I got involved in the process of developing the infrastructure.
|
||||
|
||||
Another core component of Vyla is Vyla API which dealt with searching streams from various providers, verifying their availability and playing them. Later on, it evolved into being able to cope with many kinds of streams, deal with possible issues related to their quality and reliability.
|
||||
|
||||
With constant changing and breakage of providers, I had to develop Vyla SDK. The purpose of it was to isolate the source implementations from the rest of Vyla so that they could be independently managed and used in other projects. I made each source the provider modules which had the same interface. Vyla SDK remains updated as sources change.
|
||||
|
||||
Among the main challenges associated with the development of Vyla was hosting. Initially I did self-hosting of frontend, API, player, Nginx, PM2 and other infrastructure on a VPS. Managing them was a struggle with constant downtime, provider issues, Cloudflare problems and, lastly the DMCA complains.
|
||||
|
||||
However, after receiving a DMCA strike and experiencing problems due to frequent reports in Cloudflare, I figured out that it wouldn’t be efficient to self host the streaming infrastructure. Therefore, the choice was made to focus more on SDK and the application rather than using a remote backend.
|
||||
|
||||
Thanks for Reading ❤️
|
||||
Reference in New Issue
Block a user