rename podman_ projects to container_
This commit is contained in:
17
active/container_jellyfin/jellyfin-compose.yaml
Normal file
17
active/container_jellyfin/jellyfin-compose.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
services:
|
||||
jellyfin:
|
||||
image: jellyfin/jellyfin
|
||||
container_name: jellyfin
|
||||
ports:
|
||||
- 8096:8096/tcp
|
||||
- 7359:7359/udp
|
||||
volumes:
|
||||
- /srv/jellyfin/config:/config
|
||||
- /srv/jellyfin/cache:/cache
|
||||
- type: bind
|
||||
source: /mnt/media
|
||||
target: /media
|
||||
read_only: true
|
||||
restart: 'always'
|
||||
environment:
|
||||
- JELLYFIN_PublishedServerUrl=https://jellyfin.reeseapps.com
|
||||
74
active/container_jellyfin/jellyfin.md
Normal file
74
active/container_jellyfin/jellyfin.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# Jellyfin
|
||||
|
||||
- [Jellyfin](#jellyfin)
|
||||
- [Docker Install](#docker-install)
|
||||
- [Rootless Podman Install](#rootless-podman-install)
|
||||
- [Upgrade](#upgrade)
|
||||
- [Mounting Media Directory](#mounting-media-directory)
|
||||
|
||||
They have podman rootless instructions!
|
||||
|
||||
<https://jellyfin.org/docs/general/installation/container/#managing-via-systemd>
|
||||
|
||||
## Docker Install
|
||||
|
||||
<https://jellyfin.org/docs/general/installation/container>
|
||||
|
||||
## Rootless Podman Install
|
||||
|
||||
1. Create the jellyfin user
|
||||
|
||||
```bash
|
||||
useradd jellyfin
|
||||
loginctl enable-linger $(id -u jellyfin)
|
||||
systemctl --user --machine=jellyfin@.host enable podman-restart
|
||||
systemctl --user --machine=jellyfin@.host enable --now podman.socket
|
||||
mkdir -p /home/jellyfin/.config/containers/systemd
|
||||
```
|
||||
|
||||
2. Update the jellyfin record in Caddy.
|
||||
3. Open port 8096 in the firewall.
|
||||
4. Copy the files to the server and start the service
|
||||
|
||||
```bash
|
||||
export PODMAN_SERVER=3dserver
|
||||
scp -r active/podman_jellyfin/quadlets/. $PODMAN_SERVER:/home/jellyfin/.config/containers/systemd/
|
||||
ssh $PODMAN_SERVER chown -R jellyfin:jellyfin /home/jellyfin/.config/containers/systemd/
|
||||
|
||||
ssh $PODMAN_SERVER
|
||||
machinectl shell jellyfin@
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user restart jellyfin
|
||||
```
|
||||
|
||||
## Upgrade
|
||||
|
||||
1. Check [the blog](https://jellyfin.org/posts) for breaking changes
|
||||
2. Update the `jellyfin.container` with the new image version
|
||||
3. Update quadlets and restart the service
|
||||
|
||||
```bash
|
||||
# Upload quadlets and restart
|
||||
export PODMAN_SERVER=3dserver
|
||||
scp -r active/podman_jellyfin/quadlets/. $PODMAN_SERVER:/home/jellyfin/.config/containers/systemd/
|
||||
ssh $PODMAN_SERVER chown -R jellyfin:jellyfin /home/jellyfin/.config/containers/systemd/
|
||||
|
||||
ssh $PODMAN_SERVER
|
||||
machinectl shell jellyfin@
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user restart jellyfin
|
||||
```
|
||||
|
||||
## Mounting Media Directory
|
||||
|
||||
Update /etc/fstab with the smb disk details.
|
||||
|
||||
Note:
|
||||
|
||||
- `x-systemd.automount` which only mounts the device when it's accessed.
|
||||
- `x-systemd.mount-timeout=30` allows a 30 second timeout
|
||||
- `_netdev` ensures the device won't be mounted until after the network is available
|
||||
|
||||
```conf
|
||||
UUID=... /btrfs/some-name btrfs subvolid=5,compress=zstd:1,x-systemd.automount,x-systemd.mount-timeout=30,_netdev 0 0
|
||||
```
|
||||
18
active/container_jellyfin/quadlets/jellyfin.container
Normal file
18
active/container_jellyfin/quadlets/jellyfin.container
Normal file
@@ -0,0 +1,18 @@
|
||||
[Container]
|
||||
Image=docker.io/jellyfin/jellyfin:10.11.3
|
||||
AutoUpdate=registry
|
||||
PublishPort=8096:8096/tcp
|
||||
UserNS=keep-id
|
||||
SecurityLabelDisable=true
|
||||
Volume=/home/jellyfin/jellyfin-config:/config:Z
|
||||
Volume=/home/jellyfin/jellyfin-cache:/cache:Z
|
||||
Volume=/var/media:/media:Z
|
||||
Network=jellyfin.network
|
||||
|
||||
[Service]
|
||||
# Inform systemd of additional exit status
|
||||
SuccessExitStatus=0 143
|
||||
|
||||
[Install]
|
||||
# Start by default on boot
|
||||
WantedBy=default.target
|
||||
8
active/container_jellyfin/quadlets/jellyfin.network
Normal file
8
active/container_jellyfin/quadlets/jellyfin.network
Normal file
@@ -0,0 +1,8 @@
|
||||
[Unit]
|
||||
Description=Jellyfin
|
||||
|
||||
[Network]
|
||||
IPv6=true
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
Reference in New Issue
Block a user