get.leyr.stream

Install Leyr

One container, a data volume and your music. Most setups take about ten minutes.

Early access. Public container images and source are not published yet. This page shows the install as it will work at release. Until then you can try the demo.

What you need

Required

  • A Linux host with Docker or Podman
  • A little disk for the database and caches
  • Your music library, served by Navidrome

Optional

  • An OpenID Connect provider for single sign-on
  • Discord (for sign-in) and Ticketmaster app keys
  • A domain and HTTPS, for phones and listening away from home

Set it up

Write a compose file

Save this as compose.yml in an empty folder. The music mount is optional; Leyr uses it to write artwork and Bandcamp imports into your library.

services:
  leyr:
    image: leyr:latest          # public image name arrives with release
    container_name: leyr
    restart: unless-stopped
    ports:
      - "5176:5176"
    environment:
      LEYR_PUBLIC_BASE_URL: https://music.example.com
      NAVIDROME_BASE_URL: http://navidrome:4533
      MUSICBRAINZ_USER_AGENT: "Leyr ( [email protected] )"
    volumes:
      - leyr-data:/app/data
      - /path/to/music:/music   # optional
volumes:
  leyr-data:

Start it

docker compose up -d

Leyr creates its database on first boot and migrates it on every upgrade.

Create the admin and finish setup

Open http://your-host:5176. The first account becomes the admin. The setup wizard then connects Navidrome and any other services you use. Later sign-ups wait for your approval.

Put it behind HTTPS

Use any reverse proxy or tunnel. Set LEYR_PUBLIC_BASE_URL to the public address so sign-in callbacks point at the right place.

Upgrading and backups

Pull the new image and run docker compose up -d again. Everything Leyr knows lives in the leyr-data volume, mainly one SQLite file, so a backup is a copy of that volume.