66 lines
2.5 KiB
Markdown
66 lines
2.5 KiB
Markdown
+++
|
|
title = 'Running a Music Server (with Docker)'
|
|
date = 2024-08-21T07:14:38+03:00
|
|
draft = false
|
|
+++
|
|
|
|
If you have a huge physical music collection or a desire to not pay for your music, running a Music server is a great way to organize your collection. This guide will be covering configuring [Navidrome](https://www.navidrome.org/) and [slskd](https://github.com/slskd/slskd/).
|
|
|
|
This tutorial will be assuming you're running your music server in the `/srv/music` directory, but it should be trivially easy for you to change where it is. We'll also be assuming you have `docker` and `docker-compose` installed.
|
|
```bash
|
|
# This tutorial assumes you're root
|
|
# Firstly, we should create the /srv/music directory
|
|
mkdir /srv/music
|
|
cd /srv/music
|
|
# Now we should create the compose.yml file
|
|
nano compose.yml
|
|
```
|
|
**compose.yml**
|
|
```yaml
|
|
services:
|
|
navidrome:
|
|
image: deluan/navidrome:latest
|
|
user: 1000:1000
|
|
ports:
|
|
- "4533:4533"
|
|
restart: unless-stopped
|
|
environment:
|
|
ND_SCANSCHEDULE: 1h
|
|
ND_LOGLEVEL: info
|
|
ND_SESSIONTIMEOUT: 24h
|
|
ND_BASEURL: ""
|
|
volumes:
|
|
- "./navidrome:/data"
|
|
- "./soulseek/downloads:/music" # you can change this to something else if you aren't using soulseek.
|
|
# the slskd container is entirely optional if you do not want to engage in piracy.
|
|
slskd:
|
|
image: slskd/slskd
|
|
container_name: slskd
|
|
ports:
|
|
- "5030:5030"
|
|
- "5031:5031"
|
|
- "50300:50300"
|
|
environment:
|
|
- SLSKD_REMOTE_CONFIGURATION=true
|
|
volumes:
|
|
- ./soulseek:/app
|
|
restart: always
|
|
```
|
|
```bash
|
|
# Now we should run the stack to generate config files
|
|
docker-compose up -d
|
|
# Wait around 20-30 seconds until shutting down the containers
|
|
docker-compose down
|
|
# Now we'll edit the slskd config
|
|
nano ./soulseek/slskd.yml
|
|
```
|
|
If you're running this locally, i.e. you won't expose this to the internet, I suggest enabling `web.authentication.disabled`. Otherwise, setup an username and a password. Don't use common usernames. Also, you must create a soulseek account and add it to your slskd config (`soulseek.username` & `soulseek.password`)
|
|
```bash
|
|
# Now you can run your stack
|
|
docker-compose up -d
|
|
```
|
|
Now, you must configure an administrator Navidrome account. Browse to `https://[your server ip]:4533/` and make your administrator account. Now you can add your music to whatever folder you configured, or `/srv/soulseek/downloads`. For soulseek, you'll have to browse to `https://[your server ip]:5030/` and login.
|
|
|
|
From here, you can go bananas.
|
|
|
|
Thanks for reading this quick tutorial. |