https://github.com/aloni636/media-server-setup
A simple docker compose setup for a private media server on top of my Raspberry Pi 😊
https://github.com/aloni636/media-server-setup
docker-compose jellyfin raspberry-pi
Last synced: 2 months ago
JSON representation
A simple docker compose setup for a private media server on top of my Raspberry Pi 😊
- Host: GitHub
- URL: https://github.com/aloni636/media-server-setup
- Owner: aloni636
- Created: 2025-06-27T16:00:53.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-10-05T14:48:20.000Z (9 months ago)
- Last Synced: 2025-10-05T16:29:02.845Z (9 months ago)
- Topics: docker-compose, jellyfin, raspberry-pi
- Language: Shell
- Homepage:
- Size: 25.4 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TODOs
- [ ] Add [decluttarr](https://github.com/ManiMatter/decluttarr)
- [ ] Add [Raspberry Pi V4L2 hardware acceleration](https://docs.linuxserver.io/images/docker-jellyfin/?utm_source=chatgpt.com#v4l2-raspberry-pi)
- [ ] Add docker rollout for zero downtime deployments
## Security
- [ ] Segment network between arr and jellyfin
# Security
## Docker Container Capabilities
- `CHOWN` capability is necessary for root directories permission modification as startup (like `/app` for Jellyfin, etc).
# Mounting Hard Drives
- On Rapberry Pi OS disable automount with `sudo systemctl disable udisks2.service` to have explicit contorl over mounting.
- Run `lsblk -f` to gather details about the hard drive.
- Fill the details (devide UUID and fstype) in a new `/etc/fstab` entry. Fill the rest of the options for your liking:
` `
I use: `defaults,noexec,nodev,nosuid,noatime,nofail,x-systemd.automount,x-systemd.device-timeout=10s`
- Reload systemd cached fstab entries: `sudo systemctl daemon-reload`
- Mount (first time) using `sudo mount -a` or (after modifying fstab) `sudo mount -o remount `
- For filesystems which store ownership and permissions, setup permissions for the mount point by using: `sudo chown -R : `
# Config
Use `.env.example` for the list of **cross compose services** configuration. Create a `.env`
# Setup Hints
- **Qbittorrent** uses `admin` username and generates a one time admin password for first time login.