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.

stretto logo

Self-host stretto

2.0.0

Open-source web music player backed by YouTube/SoundCloud

ReleaseOpen SourceMIT
Updated6 months ago
LanguageJavaScript
Setup difficultyModerate
MobilePWA
Stars
634
Port
3000 (Web app HTTP server)
Requires
MongoDB
Install with Docker Compose
Stretto web player interfaceStretto running on Android via Kiwi Browser

What is stretto?

Stretto is an open-source, web-based music player whose library is backed by YouTube videos and SoundCloud songs: every track you add is matched to a video or song from those services, and a companion Chrome extension downloads the audio directly in your browser. It can import playlists from Spotify, sync your library between machines, fetch lyrics automatically for the playing song, and surface new music through iTunes and Spotify top charts, plus seamless iTunes search to add tracks. Operators can self-host it with Docker Compose via the included bin/go script (serving on port 3000) or run it without Docker using Node.js 12 and a MongoDB instance, keeping API keys for Google, Spotify and SoundCloud in a .env file. A hosted instance at next.kaiserapps.com is free to use, and because the app is built as a progressive web app it can also be used on Android through Kiwi Browser. The latest tagged release, 2.0.0 ("Stretto Next"), dates from January 2019.

Should you self-host stretto?

stretto scores 42/100 on selfhost.directory (how scoring works) and ranks #40 of 59 in Music Streaming. It has 634 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. It is MIT-licensed and written mostly in JavaScript.

Its closest alternative on selfhost.directory is koel (75/100, 17 318 stars). It scores higher overall, so compare the two before you pick. See stretto vs koel side by side.

Features

  • Automatic lyrics fetching
  • Browser-based music streaming
  • iTunes search
  • Library sync across devices
  • Multiple Themes
  • Music discovery via top charts
  • Offline tracks via companion extensionRequires the Stretto Helper Chrome extension
  • Progressive Web App
  • Spotify playlist import

stretto README

How to install stretto

Install stretto with Docker Compose

Docker + Docker Compose (mongo image included)
Environment variables
GOOGLE_CLIENT_ID, SPOTIFY_CLIENT_ID, SOUNDCLOUD_CLIENT_ID
Running in Docker + Docker Compose
bin/go

That's it! Go to http://localhost:3000

Compose builds the web image locally (Dockerfile.local) and starts a mongo service.

How to configure stretto

  • APP_URLhttp://localhost:3000Base URL of the app (docker-compose environment).

    Base URL of the app (docker-compose environment).

  • ENVdevelopmentEnvironment mode (docker-compose environment).

    Environment mode (docker-compose environment).

  • GOOGLE_CLIENT_ID
  • MONGO_URLmongodb://mongo:27017/strettoMongoDB connection string; add it to your environment variables when running without Docker.

    MongoDB connection string; add it to your environment variables when running without Docker.

  • PORT3000Port the web service listens on (docker-compose environment).

    Port the web service listens on (docker-compose environment).

  • SMTP_PASSWORD
  • SOUNDCLOUD_CLIENT_ID
  • SOUNDCLOUD_REDIRECT_ENDPOINT
  • SPOTIFY_CLIENT_ID
  • SPOTIFY_CLIENT_SECRET
  • YOUTUBE_REDIRECT_ENDPOINT

stretto releases & version history

More in Music Streaming

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…