Documentation
Documentation
Everything Rainy does, page by page. Start with the install guide, or jump to the feature you need.
Getting started
Install Rainy, finish the first-run setup and configure it.
- Overview Rainy is a self-hosted music server with a web player, a library, playlists, imports, synced lyrics and a fullscreen light show.
- Installation Install Rainy with Docker Compose, or run it directly with Python on Linux, macOS or Windows.
- First run Create the administrator account, sign in and out, change your password and set your interface preferences.
- Configuration Every environment variable Rainy reads, with its default and what it changes.
Library
Browse, scan and clean up the music you own.
- Library Browse, search, play and remove the songs in your Rainy library.
- Albums and artists Browse your music by album or by artist, and fill in artist profiles.
- Scanning the library Find new, changed and removed music files and bring the Rainy library up to date.
- Uploads and duplicates Add audio files from your browser, and find and merge songs that appear more than once.
Playback
The player, your listening history and the keyboard.
- Player The player bar controls playback, and its More menu holds the advanced tools: sleep timer, A-B repeat, speed, equalizer and crossfade.
- Listening history and stats See what you played recently, which songs you play most, and how much you have listened.
- Keyboard shortcuts Control playback, open search and find the full list of keys, without reaching for the mouse.
Playlists and discovery
Playlists, sync, likes, mixes and friends.
- Playlists Create, edit, share and export playlists, and see what each person on a playlist can do.
- Playlist sync Keep a local playlist up to date with a YouTube Music or Spotify playlist, automatically.
- Likes and dislikes Like or dislike songs to build your Liked Music playlist and shape your Smart Mixes.
- Smart Mix Listen to ready-made mixes built from what you play, what you like and how your songs sound.
- Discover Search YouTube Music from Rainy, preview songs, and download the ones you want into your library.
- Friends Add friends, answer friend requests, and invite friends to collaborate on your playlists.
Imports and metadata
Bring music in and tidy up its tags, covers and lyrics.
- Import music from YouTube and Spotify Bring a song or a whole playlist from YouTube, YouTube Music or Spotify into your library, either right away or as a background job.
- Track imports in the import queue Follow background imports in Settings → Jobs, see what finished or failed, and cancel imports that have not started yet.
- Find metadata and covers Correct a song's title, artist, album and cover from YouTube Music, and fill in audio features, tags and similar artists from free databases.
- Lyrics Find lyrics for your songs, read them in the player, and time each word against the audio for word-by-word highlighting.
Stage and devices
The light show, remote control and casting.
- Light show Turn any song into a synced light show in the fullscreen player, with lasers, beams and scenes that hit the beats, builds and drops.
- Light show environments Choose the kind of light show you want, and install new ones on your server as packages.
- Rainy Connect Control music playing on your other devices, such as a phone or a second browser, from the device you are using.
- Chromecast Play your Rainy library on a Chromecast or Google TV from a Chromium browser, controlled from Rainy Connect.
Administration
Users, access, maintenance and GPU acceleration.
- Users and access Decide who can use your Rainy server, what each person can do, and which songs each person can see.
- Maintenance Scan the music folder, fill in missing artist images and bios, and keep the YouTube downloader up to date.
- GPU acceleration Speed up light show analysis with an NVIDIA graphics card. Rainy works without one.
Build a light show
How the light show works, and how to write your own environment.
- How the light show works From an audio file to light on the beat: the analysis, the score, the clock, the conductor and the environment.
- Create an environment Write your own light show: a small JavaScript package that receives the music and decides what it looks like.
- Environment API reference Everything an environment package can declare, receive and import. This is version 1 of the environment API.