https://github.com/yr72dpi/spotimy
Raspberry Pi 2B media manager
https://github.com/yr72dpi/spotimy
32bit armv7 armv7l docker docker-compose media raspberry2 raspberrypi spotify
Last synced: about 1 month ago
JSON representation
Raspberry Pi 2B media manager
- Host: GitHub
- URL: https://github.com/yr72dpi/spotimy
- Owner: YR72dpi
- Created: 2024-11-25T17:08:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-04T12:52:32.000Z (over 1 year ago)
- Last Synced: 2025-03-21T07:43:32.413Z (over 1 year ago)
- Topics: 32bit, armv7, armv7l, docker, docker-compose, media, raspberry2, raspberrypi, spotify
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Why ?
Ads pissed me off on Spotify so i made a stack to get musics & play it without ads.
__Jellyfin__ to play,
__File Browser__ to manage files,
__MeTube__ & __qBitTorrent__ to download medias in a very very legal way. 🤡
## Config
```
_,met$$$$$gg. pi@pi5
,g$$$$$$$$$$$$$$$P. ------
,g$$P"" """Y$$.". OS: Debian GNU/Linux 13 (trixie) aarch64
,$$P' `$$$. Host: Raspberry Pi 5 Model B Rev 1.1
',$$P ,ggs. `$$b: Kernel: Linux 6.12.47+rpt-rpi-2712
`d$$' ,$P"' . $$$ Uptime: 136 days(!), 6 hours, 52 mins
$$P d$' , $$P Packages: 787 (dpkg)
$$: $$. - ,d$$' Shell: bash 5.2.37
$$; Y$b._ _,d$P' Cursor: Adwaita
Y$$. `.`"Y$$$$P"' Terminal: /dev/pts/1
`$$b "-.__ CPU: BCM2712 (4) @ 2.40 GHz
`Y$$b GPU: Broadcom bcm2712-vc6 [Integrated]
`Y$$. Memory: 3.13 GiB / 7.87 GiB (40%)
`$$b. Swap: 419.44 MiB / 2.00 GiB (20%)
`Y$$b. Disk (/): 27.74 GiB / 57.99 GiB (48%) - ext4
`"Y$b._ Disk (/mnt/jellyfin): 356.00 GiB / 931.50 GiB (38%) - exfat
`"""" Disk (/mnt/note): 192.00 KiB / 7.28 GiB (0%) - exfat [External]
Local IP (eth0): 192.168.1.197/24
Locale: fr_FR.UTF-8
```
# Spotimy Docker Compose Documentation
_Documentation generated by chatGPT from the docker-compose.yml_
This documentation describes the setup & configuration of the **Spotimy** project using `docker-compose`. The project deploys multiple services for managing media content, downloads, & file browsing. Below is a breakdown of the services, their configurations, & their purposes.
---
## Table of Contents
1. [Overview](#overview)
2. [Services](#services)
- [Jellyfin](#jellyfin)
- [File Browser](#file-browser)
- [MeTube](#metube)
- [qBittorrent-nox](#qbittorrent-nox)
3. [Volumes](#volumes)
4. [Environment Variables](#environment-variables)
---
## Overview
**Spotimy** leverages Docker Compose to run a stack of services tailored for media management:
- **Jellyfin**: A media server for organizing & streaming content.
- **File Browser**: A web interface for managing files.
- **MeTube**: A downloader for video & audio content.
- **qBittorrent-nox**: A torrent client with a web interface.
---
## Services
### Jellyfin
A media server for organizing, managing, & streaming content.
#### Configuration:
- **Image**: `ghcr.io/jellyfin/jellyfin:latest`
- **Container Name**: `jellyfin`
- **Ports**: `8041:8096`
- **Volumes**:
- `${JELLYFIN_CONFIG_PATH}:/config`
- `jellyfin_cache:/cache`
- `${MEDIA_PATH}:/media`
- **Environment**:
- `TZ=Europe/Paris`
- `UID` & `GID` should be set via environment variables.
---
### File Browser
A web-based file manager for managing media files.
#### Configuration:
- **Image**: `filebrowser/filebrowser:latest`
- **Container Name**: `filebrowser`
- **Ports**: `8031:80`
- **Volumes**:
- `${MEDIA_PATH}:/srv`
- `${FILEBROWSER_CONFIG}:/database`
- **Environment**:
- `FB_BASEURL=/`
---
### MeTube
A downloader for video & audio content.
#### Configuration:
- **Image**: `ghcr.io/alexta69/metube:latest`
- **Container Name**: `metube_container`
- **Ports**: `8021:8081`
- **Volumes**:
- `${MEDIA_PATH}:/downloads`
- **Environment**:
- `UID` & `GID` should be set via environment variables.
- `OUTPUT_TEMPLATE`: Custom naming template for downloaded files.
---
### qBittorrent-nox
A lightweight torrent client with a web UI.
#### Configuration:
- **Image**: `ghcr.io/qbittorrent/docker-qbittorrent-nox:latest`
- **Container Name**: `qbittorrent-nox`
- **Ports**:
- `6881:6881/tcp`
- `6881:6881/udp`
- `${QBT_WEBUI_PORT}:${QBT_WEBUI_PORT}/tcp`
- **Volumes**:
- `${QBT_CONFIG_PATH}:/config`
- `${MEDIA_PATH}:/downloads`
- **Environment**:
- `PUID` & `PGID` should match your user.
- `TZ=Europe/Paris`
- Additional environment variables:
- `QBT_LEGAL_NOTICE`
- `QBT_VERSION`
- `QBT_WEBUI_PORT`
- **Misc**:
- Temporary file storage in `/tmp`.
- Grace period on stop: 1 hour.
---
## Volumes
The following named volumes are used for persistent data storage:
- `jellyfin_cache`: Stores Jellyfin cache data.
- `filebrowser_data`: Stores File Browser configuration data.
Other paths are bind-mounted via environment variables (`JELLYFIN_CONFIG_PATH`, `MEDIA_PATH`, `FILEBROWSER_CONFIG`, `QBT_CONFIG_PATH`).
---
## Environment Variables
Configure the following environment variables before deploying the stack:
- **UID**: User ID for file ownership.
- **GID**: Group ID for file ownership.
- **MEDIA_PATH**: Path to the shared media directory (used by Jellyfin, File Browser, MeTube & qBittorrent).
- **JELLYFIN_CONFIG_PATH**: Path to Jellyfin configuration directory.
- **FILEBROWSER_CONFIG**: Path to the File Browser database file.
- **QBT_CONFIG_PATH**: Path to qBittorrent configuration directory.
- **QBT_LEGAL_NOTICE**: Legal notice confirmation for qBittorrent.
- **QBT_VERSION**: Specify qBittorrent version.
- **QBT_WEBUI_PORT**: Port for the qBittorrent Web UI.