8000 GitHub - Raiper34/spooty: Self-hosted spotify downloader
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Raiper34/spooty

Repository files navigation

npm version npm version npm version GitHub License GitHub Repo stars

spooty logo

Spooty - selfhosted Spotify downloader

Spooty is a self-hosted Spotify downloader. It allows download track/playlist/album from the Spotify url. It can also subscribe to a playlist or author page and download new songs upon release. Spooty basically downloads nothing from Spotify, it only gets information from spotify and then finds relevant and downloadeds music on Youtube. The project is based on NestJS and Angular.

Important

Please do not use this tool for piracy! Download only music you own rights! Use this tool only on your responsibility.

demo

Content

🚀 Installation

Recommended and the easiest way how 9A91 to start to use of Spooty is using docker.

Docker

Just run docker command or use docker compose configuration. For detailed configuration, see available environment variables.

Docker command

docker run -d -p 3000:3000 -v /path/to/downloads:/spooty/backend/downloads raiper34/spooty:latest

Docker compose

services:
  spooty:
    image: raiper34/spooty:latest
    container_name: spooty
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - /path/to/downloads:/spooty/backend/downloads

Build from source

Spooty can be also build from source files on your own.

Requirements

  • Node v18.19.1 (it is recommended to use nvm node version manager to install proper version of node)
  • Redis in memory cache

Process

  • install Node v18.19.1 using nvm install and use that node version nvm use
  • from project root install all dependencies using npm install
  • copy .env.default as .env in src/backend folder and modify desired environment properties (see environment variables)
  • build source files npm run build
    • built project will be stored in dist folder
  • start server npm run start

Environment variables

Some behaviour and settings of Spooty can be configured using environment variables and .env file.

Name Default Description
DB_PATH ./config/db.sqlite (relative to backend) Path where Spooty database will be stored
FE_PATH ../frontend/browser (relative to backend) Path to frontend part of application
DOWNLOADS_PATH ./downloads (relative to backend) Path where downaloded files will be stored
FORMAT mp3 Format of downloaded files (currently fully supported only mp3 but you can try whatever you want from ffmpeg)
PORT 3000 Port of Spooty server
REDIS_PORT 6379 Port of Redis server
REDIS_HOST localhost Host of Redis server
RUN_REDIS false Whenever Redis server should be started from backend (recommended for Docker environment)

⚖️ License

MIT

About

Self-hosted spotify downloader

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
0