selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
viewscreen logo

Self-host viewscreen

Personal video streaming server with torrent support

AlphaOpen SourceMIT
Updated8 years ago
LanguageGo
Setup difficultyModerate
MobileResponsive
Stars
231
RAM
1GB+
Storage
5GB+
Ports
80 (HTTP redirect to HTTPS), 443 (HTTPS with Let's Encrypt TLS), 61337 (Torrent client listener)
Requires
Ffmpeg
Docker
viewscreen/viewscreen
Install with Docker
Library view showing video collectionImport/torrent download interfaceVideo player screen

What is viewscreen?

Viewscreen is a personal video streaming server for self-hosting on a VPS or dedicated machine. It offers a web UI to organize and play media, converting files on the fly to MP4 with AAC/H.264. A built-in torrent client downloads directly to the server, so your home IP stays hidden. TLS certificates come from Let's Encrypt automatically, with HTTP-to-HTTPS redirection. Access is protected by HTTP basic auth or reverse-proxy headers. Distribution options are a single static Go binary or a Docker image. Development stopped around 2018 with no formal releases.

Should you self-host viewscreen?

viewscreen scores 38/100 on selfhost.directory (how scoring works) and ranks #48 of 54 in Media Streaming. It has 231 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is Invidious (81/100, 25 799 stars). It scores higher overall, so compare the two before you pick. See viewscreen vs Invidious side by side.

Features

  • Automatic HTTPS
  • Friend sharing
  • HTTP Basic Authentication
  • Offline Downloads
  • Reverse Proxy Authentication
  • Torrent Client
  • Video Streaming
  • Video Transcoding

viewscreen README

How to install viewscreen

Install viewscreen with Docker

Docker CE

Your download directory should be bind-mounted as /data inside the container using the --volume flag.

$ mkdir /home//Downloads

$ sudo docker create
--name viewscreen --init --restart always
--publish 80:80 --publish 443:443
--volume /home//Downloads:/data
viewscreen/viewscreen:latest --letsencrypt --http-host viewscreen.example.com

$ sudo docker start viewscreen

$ sudo docker logs -f viewscreen

Requires ports 80 and 443 accessible for Let's Encrypt

How to configure viewscreen

  • backlinkOptional backlink

    Optional backlink

  • debugfalseDebug mode

    Debug mode

    values: true/false

  • download-dir/dataDownload directory for videos

    Download directory for videos

  • http-addr:80Listen address for HTTP server

    Listen address for HTTP server

  • http-hostHTTP host (domain name) for Let's Encrypt

    HTTP host (domain name) for Let's Encrypt

  • http-prefix/viewscreenHTTP URL prefix

    HTTP URL prefix

  • http-usernameviewscreenHTTP basic auth username

    HTTP basic auth username

  • letsencryptfalseEnable TLS using Let's Encrypt

    Enable TLS using Let's Encrypt

    values: true/false

  • metadatafalseUse metadata service

    Use metadata service

    values: true/false

  • reverse-proxy-headerX-Authenticated-UserReverse proxy auth header name

    Reverse proxy auth header name

  • reverse-proxy-ipReverse proxy auth IP

    Reverse proxy auth IP

  • torrent-addr:61337Listen address for torrent client

    Listen address for torrent client

More in Torrent

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…