Streamsphere---Content

Streamsphere---Content

Docker app from grtgbln's Repository

Overview

It is a media library. It supports channels, playlists and videos. The primary goal of this application is to provide complete functionality of a media library, while being as lightweight as possible.

:film_strip: Streamsphere

It is a media library. It supports channels, playlists and videos.
The primary goal of this application is to provide complete functionality of a media library, while being as light weight as possible.

Note: The tool is under active development.

:computer: Interface

downloading

:rocket: Getting Started

Features

  • πŸ“Ί Download Channels from supported domains
  • πŸ“Ό Downlad & update playlists from supported domains
  • πŸ“½οΈ Download Videos from supported domains
  • πŸ” Search and play videos by title
  • πŸ‘Ύ UI to navigate your media library
  • πŸ“₯ Download media content that has been added to streamsphere through browser
  • ✨ View tags, categories, size of media files and other details for the downloaded content
  • 🎴 Light & Dark theme support

:whale: Deploy using docker compose

You will need Docker installed on your system for this.

services:
  streamsphere:
    image: streamsphere/streamsphere:latest
    # image: streamsphere/streamsphere:latest-arm
    container_name: streamsphere
    restart: unless-stopped
    ports:
      - 1282:3000
    environment:
      HOST_IP: "192.168.1.15"
      APPLICATION_PORT: "1282"
      CONTENT_PORT: "1288"
    volumes:
      - db-data:/app/database/db
      - content-data:/app/content
  content:
    image: streamsphere/streamsphere-content:latest
    # image: streamsphere/streamsphere-content:latest-arm
    container_name: streamsphere-content
    restart: unless-stopped
    ports:
      - 1288:3500
    volumes:
      - content-data:/content
volumes:
  db-data:
  content-data:

Note: If you are using an ARM64 machine (like a raspberry-pi), use the commented image name with latest-arm tag (the default uncommented image with latest tag is for AMD64 machines only).

Environment Variables

  • HOST_IP is the IP (or hostname) of the machine on the network you want to host it on.
  • APPLICATION_PORT is the port you are mapping your container services to.
  • CONTENT_PORT is the port you are mapping your content files to.

Supported Domains

  • youtube.com

〰️ Performance & Limitations

The application uses yt-dlp to fetch video metadata and thumbnail, if this is successful, it attempts to download the video and shows download metrics on the UI. Since the application first fetches the video metadata, the Get UI operation may feel slow as it takes a while to fetch the metadata and download the video thumbnail, even more so when its a playlist or a channel. The application does have the same limitations basically as yt-dlp as of the latest version. e.g. downloading a mix will end up in a never ending loop which keeps fetching data from yt-dlp.

:hammer_and_wrench: Support & Compatibility

CPU Architecture

AMD64 ARM64
βœ”οΈ Supported βœ”οΈ Supported

Screen Size

10" & below 10" - 14" 14" - 27" 27" & above
βœ–οΈ Unsupported βœ”οΈ Supported (untested) βœ”οΈ Supported βœ”οΈ Supported (untested)

Browsers

Chrome Edge Safari Firefox
βœ”οΈ Supported βœ”οΈ Supported βœ”οΈ Supported ❗ Supported (has open issues)

🌟 Upcoming Features

Please refer this list of upcoming work items and please report any bugs if you find one!

πŸ”Ό Updating yt-dlp

The latest version of streamspehre (v0.1.15) includes an update to upgrade yt-dlp each time the container is stopped and started. It can also be manually updated by following the below steps:

# login into the container
sudo docker exec -it streamsphere bash

Once inside the docker container:

# change directory to reach the yt-dlp binary
cd /app/utils/

# run the yt-dlp update
./yt-dlp_linux -U

Upcoming versions of streamsphere are planned to have a ui to update yt-dlp.

🎯 Design Update (Proposed)

This update will support:

  • scheduling playlist/channel updates
  • enable extraction of extremely huge channels/playlists
  • enable modular implementation of download filters
  • improved failure management
  • does not require additional docker builds

Application Design

❓ Help & Support

Please feel free to report any bugs that you may have observed!

πŸ“ License

GNU Affero General Public License v3.0

Media gallery

Install Streamsphere---Content on Unraid in a few clicks.

Find Streamsphere---Content in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Streamsphere---Content Review the template variables and paths Click Install

Download Statistics

569
Total Downloads

Details

Repository
streamsphere/streamsphere-content:latest
Last Updated2024-11-17
First Seen2025-01-22

Runtime arguments

Network
bridge
Privileged
false

Template configuration

API PortPorttcp

Container Port: 3500

Target
3500
Default
3500
Value
3500
Content PathPath

Path to content files. Must match Streamsphere Content content path.

Target
/app/content