mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
added spotdl
This commit is contained in:
@@ -0,0 +1,66 @@
|
|||||||
|
# spotDL
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
spotDL is a command-line music downloader that finds Spotify tracks on YouTube and downloads them with album art, lyrics, and metadata. This stack runs the optional web UI, providing a browser interface where you can paste Spotify links to download tracks, albums, or playlists.
|
||||||
|
|
||||||
|
## Project Details
|
||||||
|
|
||||||
|
- **Project Repository:** [https://github.com/spotDL/spotify-downloader](https://github.com/spotDL/spotify-downloader)
|
||||||
|
- **Container Image:** [spotdl/spotify-downloader](https://hub.docker.com/r/spotdl/spotify-downloader)
|
||||||
|
- **Web UI Port:** `8800`
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
Open http://localhost:8800 in your browser:
|
||||||
|
|
||||||
|
1. Find a Spotify track, album, or playlist URL
|
||||||
|
2. Paste it into the spotDL web UI
|
||||||
|
3. Click download — spotDL finds the song on YouTube and saves it as an MP3 with full metadata
|
||||||
|
|
||||||
|
Downloaded files appear in the `/music` volume.
|
||||||
|
|
||||||
|
## Environment Variable Notes
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|---|---|
|
||||||
|
| `SPOTDL_IMAGE` | Container image (default: `spotdl/spotify-downloader:latest`) |
|
||||||
|
| `SPOTDL_RESTART` | Restart policy (default: `unless-stopped`) |
|
||||||
|
| `SPOTDL_PORT` | Published port for the web UI (default: `8800`) |
|
||||||
|
| `VOL_PATH` | Base path for persistent data volumes (default: `/data`) |
|
||||||
|
|
||||||
|
## Volume Notes
|
||||||
|
|
||||||
|
| Volume | Purpose |
|
||||||
|
|---|---|
|
||||||
|
| `${VOL_PATH:-/data}/spotdl/music` | Downloaded music files |
|
||||||
|
|
||||||
|
## Network Notes
|
||||||
|
|
||||||
|
Requires an external `proxy` network. Create it once with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker network create proxy
|
||||||
|
```
|
||||||
|
|
||||||
|
## Docker Run
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d \
|
||||||
|
--name=spotdl \
|
||||||
|
-p 8800:8800 \
|
||||||
|
-v ${VOL_PATH:-/data}/spotdl/music:/music \
|
||||||
|
--network proxy \
|
||||||
|
--restart unless-stopped \
|
||||||
|
spotdl/spotify-downloader:latest \
|
||||||
|
web
|
||||||
|
```
|
||||||
|
|
||||||
|
## Dockhand Stack, Deploy from Git
|
||||||
|
|
||||||
|
- **Cookbooks Repository**
|
||||||
|
- **stackname:** spotdl_dev
|
||||||
|
- **Compose file path:** spotdl_dev/compose.yaml
|
||||||
|
- **Additional env file (optional):** spotdl_dev/sample.env
|
||||||
|
|
||||||
|
Load `spotdl_dev/sample.env` into the Environment variables in Dockhand, then create the Stack.
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
services:
|
||||||
|
spotdl:
|
||||||
|
image: ${SPOTDL_IMAGE:-spotdl/spotify-downloader:latest}
|
||||||
|
restart: ${SPOTDL_RESTART:-unless-stopped}
|
||||||
|
command: web
|
||||||
|
ports:
|
||||||
|
- "${SPOTDL_PORT:-8800}:8800"
|
||||||
|
volumes:
|
||||||
|
- ${VOL_PATH:-/data}/spotdl/music:/music
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# spotDL
|
||||||
|
VOL_PATH=/data
|
||||||
|
SPOTDL_IMAGE=spotdl/spotify-downloader:latest
|
||||||
Reference in New Issue
Block a user