mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-04 02:46:23 +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