pify-player Svelte Themes

Pify Player

Web-based Spotify player powered by Svelte and Go, designed to run on Raspberry Pi devices.

Pify Player

Web-based Spotify player powered by Svelte and Go, designed to run on Raspberry Pi devices.

Pre-requisites

  1. Docker installed
  2. Node.js 22.14.0 and above installed for frontend
  3. Go 1.24.0 and above installed for backend
  4. SSL certs installed

Installing SSL certs

SSL certs need to be setup for both api and player services, especially for player as Spotify Web SDK requires its player to be running in servers with SSL enabled.

Steps:

  1. Install mkcert

macOS

brew install mkcert
brew install nss # if you use Firefox

Linux

# first install certutil
sudo apt install libnss3-tools
#    -or-
sudo yum install nss-tools
#    -or-
sudo pacman -S nss
#    -or-
sudo zypper install mozilla-nss-tools

# install mkcert via homebrew (refer to brew.sh)
brew install mkcert

# homebrew is not supported in Raspberry Pi, so the other option will be to build from source
git clone https://github.com/FiloSottile/mkcert && cd mkcert
go build -ldflags "-X main.Version=$(git describe --tags)"
  1. Run mkcert -install
  2. Create .env file in repo root folder. Can make a copy of .env.example file and rename it to .env.
  3. Run make generate-ssl
  4. Verify that certs are generated by running ls -al ./certs

Follow this guide for detailed setup steps. Github repo

Getting Started

To get started in development mode, follow the Getting Started instructions stated in api/README.md and player/README.md files.

Once setup is done, open frontend application in browser using this url: http://127.0.0.1:5173/remote

Running in production mode

make start

Development Logs

Development logs documenting thought process and planning involved for Pify Player can be found here.

Top categories

Loading Svelte Themes