Browse Source

add cross-seed to seedbox

main
Nicolas Massé 2 weeks ago
parent
commit
a7a66dcf3d
  1. 16
      cookbooks/base/discover-virtiofs-tags.service
  2. 1
      cookbooks/base/tmpfiles.d/base.conf
  3. 7
      cookbooks/base/var-lib-virtiofs-data.mount
  4. 19
      cookbooks/samba/config/examples/smb.conf.d/10-shares.conf
  5. 7
      cookbooks/samba/samba.container
  6. 14
      cookbooks/seedbox/README.md
  7. 33
      cookbooks/seedbox/cross-seed.container
  8. 6
      cookbooks/seedbox/cross-seed.image
  9. 6
      cookbooks/seedbox/dropins/samba.container.d/seedbox.conf
  10. 2
      cookbooks/seedbox/dropins/var-lib-virtiofs-data.mount.d/seedbox.conf
  11. 4
      cookbooks/seedbox/flaresolverr.container
  12. 12
      cookbooks/seedbox/jellyfin.container
  13. 12
      cookbooks/seedbox/lidarr.container
  14. 6
      cookbooks/seedbox/other/samba/10-shares.conf
  15. 13
      cookbooks/seedbox/other/traefik/cross-seed.yaml
  16. 3
      cookbooks/seedbox/other/traefik/jellyfin.yaml
  17. 3
      cookbooks/seedbox/other/traefik/lidarr.yaml
  18. 3
      cookbooks/seedbox/other/traefik/prowlarr.yaml
  19. 3
      cookbooks/seedbox/other/traefik/qbittorrent.yaml
  20. 3
      cookbooks/seedbox/other/traefik/radarr.yaml
  21. 3
      cookbooks/seedbox/other/traefik/sonarr.yaml
  22. 12
      cookbooks/seedbox/prowlarr.container
  23. 16
      cookbooks/seedbox/qbittorrent.container
  24. 12
      cookbooks/seedbox/radarr.container
  25. 4
      cookbooks/seedbox/seedbox.target
  26. 12
      cookbooks/seedbox/sonarr.container
  27. 47
      cookbooks/seedbox/tmpfiles.d/seedbox.conf
  28. 16
      cookbooks/seedbox/var-lib-virtiofs-hdd.mount
  29. 16
      cookbooks/seedbox/var-lib-virtiofs-ssd.mount

16
cookbooks/base/discover-virtiofs-tags.service

@ -0,0 +1,16 @@
[Unit]
Description=Discover the virtiofs tags made available by the hypervisor
RequiresMountsFor=/run
ConditionPathIsMountPoint=/run
# Unless DefaultDependencies= is set to false, service units will implicitly
# have dependencies of type Requires= and After= on basic.target as well as
# dependencies of type Conflicts= and Before= on shutdown.target.
#
# So, we need to set DefaultDependencies to "no" to break the ordering cycle.
DefaultDependencies=no
[Service]
Type=oneshot
ExecStart=/bin/bash -Eeuo pipefail -c 'shopt -s nullglob; mkdir -p /run/quadlets/base/virtiofs; for tagfile in /sys/fs/virtiofs/*/tag; do tag=$(<"$tagfile"); echo -n > "/run/quadlets/base/virtiofs/$tag"; done'
RemainAfterExit=yes

1
cookbooks/base/tmpfiles.d/base.conf

@ -1,2 +1 @@
d /var/lib/virtiofs 0755 0 0 - d /var/lib/virtiofs 0755 0 0 -
d /var/lib/virtiofs/data 0755 0 0 -

7
cookbooks/base/var-lib-virtiofs-data.mount

@ -1,9 +1,10 @@
[Unit] [Unit]
Description=Mount the "data" virtio filesystem Description=Mount the "data" virtio filesystem
Requires=discover-virtiofs-tags.service
After=discover-virtiofs-tags.service
# Only run on Fedora CoreOS # Only run if the "data" tag is present (as discovered by discover-virtiofs-tags.service)
ConditionOSRelease=ID=fedora ConditionPathExists=/run/quadlets/base/virtiofs/data
ConditionOSRelease=VARIANT_ID=coreos
[Mount] [Mount]
What=data What=data

19
cookbooks/samba/config/examples/smb.conf.d/10-shares.conf

@ -1,19 +0,0 @@
server string = Storage
[foo]
path = /data/foo
comment = Foo
valid users = @itix
write list = @itix
group = itix
directory mask = 0770
create mask = 0660
[bar]
path = /data/bar
comment = Bar
valid users = @itix
write list = @itix
group = itix
directory mask = 0775
create mask = 0664

7
cookbooks/samba/samba.container

@ -1,8 +1,7 @@
[Unit] [Unit]
Description=Samba Description=Samba
After=samba-build.service After=network.target samba-build.service
Wants=samba-build.service Wants=network.target samba-build.service
Requires=var-lib-virtiofs-data.mount
# Start/stop this unit when the target is started/stopped # Start/stop this unit when the target is started/stopped
PartOf=samba.target PartOf=samba.target
@ -23,11 +22,11 @@ User=0
# Storage # Storage
Volume=/var/lib/quadlets/samba/data:/var/lib/samba:Z Volume=/var/lib/quadlets/samba/data:/var/lib/samba:Z
Volume=/var/lib/quadlets/samba/log:/var/log/samba:Z Volume=/var/lib/quadlets/samba/log:/var/log/samba:Z
Volume=/var/lib/virtiofs/data/storage:/data
Volume=/etc/quadlets/samba/smb.conf.d:/etc/samba/smb.conf.d:Z Volume=/etc/quadlets/samba/smb.conf.d:/etc/samba/smb.conf.d:Z
Volume=/run/quadlets/samba/passwd:/etc/passwd:Z Volume=/run/quadlets/samba/passwd:/etc/passwd:Z
Volume=/run/quadlets/samba/group:/etc/group:Z Volume=/run/quadlets/samba/group:/etc/group:Z
Volume=/run/quadlets/samba/shadow:/etc/shadow:Z Volume=/run/quadlets/samba/shadow:/etc/shadow:Z
# Heads up ! You need to mount the volumes you want to share in a drop-in configuration file !
# Network # Network
Network=host Network=host

14
cookbooks/seedbox/README.md

@ -13,6 +13,7 @@ This cookbook includes the following services:
- **Prowlarr**: Indexer manager for Radarr, Sonarr, and Lidarr. - **Prowlarr**: Indexer manager for Radarr, Sonarr, and Lidarr.
- **Jellyfin**: Media server for streaming your collection. - **Jellyfin**: Media server for streaming your collection.
- **FlareSolverr**: Proxy server to bypass Cloudflare protection for indexers. - **FlareSolverr**: Proxy server to bypass Cloudflare protection for indexers.
- **cross-seed**: Automatically cross-seeds your torrents on other private trackers using your existing data.
All services: All services:
@ -48,6 +49,19 @@ You should see all services starting up. Access the web interfaces:
- **Prowlarr**: `http://127.0.0.1:9696/` - **Prowlarr**: `http://127.0.0.1:9696/`
- **Jellyfin**: `http://127.0.0.1:8096/` - **Jellyfin**: `http://127.0.0.1:8096/`
- **FlareSolverr**: `http://127.0.0.1:8191/` - **FlareSolverr**: `http://127.0.0.1:8191/`
- **cross-seed**: `http://127.0.0.1:2468/`
On its first start, **cross-seed** generates a template configuration file at
`/var/lib/virtiofs/ssd/cross-seed/config/config.js`. Edit it by hand to set at
least:
- `torznab`: your Prowlarr Torznab indexer URL(s) (with their API keys), e.g. `http://prowlarr:9696/1/api?apikey=<key>`.
- `torrentClients`: the qBittorrent connection string, e.g. `qbittorrent:http://<user>:<pass>@localhost:8080`.
- `linkDirs`: `["/data/storage/seed"]`, so that cross-seed hardlinks matches into the dedicated `seed` directory shared with qBittorrent.
Then restart **cross-seed.service** for the changes to take effect. See the
[cross-seed documentation](https://www.cross-seed.org/docs/basics/getting-started)
for the full set of options.
Restart the **seedbox.target** unit. Restart the **seedbox.target** unit.

33
cookbooks/seedbox/cross-seed.container

@ -0,0 +1,33 @@
[Unit]
Description=Fully automatic cross-seeding for torrent trackers
Documentation=https://www.cross-seed.org/docs/basics/getting-started
Wants=network.target
After=network.target
RequiresMountsFor=/var/lib/virtiofs/ssd
RequiresMountsFor=/var/lib/virtiofs/hdd
[Container]
ContainerName=cross-seed
# Image
Image=cross-seed.image
AutoUpdate=registry
# Security
User=10017
Group=10000
# Storage
Volume=/var/lib/virtiofs/ssd/cross-seed/config:/config:z
Volume=/var/lib/virtiofs/hdd:/data:z
# Network
AddCapability=CAP_NET_BIND_SERVICE
Network=host
# Configuration
Environment=TZ=Etc/UTC HOME=/config
Exec=daemon
[Install]
WantedBy=seedbox.target

6
cookbooks/seedbox/cross-seed.image

@ -0,0 +1,6 @@
[Unit]
Description=podman pull ghcr.io/cross-seed/cross-seed
Documentation=https://www.cross-seed.org/docs/basics/getting-started
[Image]
Image=ghcr.io/cross-seed/cross-seed:latest

6
cookbooks/seedbox/dropins/samba.container.d/seedbox.conf

@ -0,0 +1,6 @@
[Unit]
RequiresMountsFor=/var/lib/virtiofs/ssd
RequiresMountsFor=/var/lib/virtiofs/hdd
[Container]
Volume=/var/lib/virtiofs/hdd:/data:z

2
cookbooks/seedbox/dropins/var-lib-virtiofs-data.mount.d/seedbox.conf

@ -0,0 +1,2 @@
[Unit]
# TODO: Désactiver cette unité.

4
cookbooks/seedbox/flaresolverr.container

@ -1,8 +1,8 @@
[Unit] [Unit]
Description=Proxy server to bypass Cloudflare protection Description=Proxy server to bypass Cloudflare protection
Documentation=https://github.com/FlareSolverr/FlareSolverr/ Documentation=https://github.com/FlareSolverr/FlareSolverr/
Wants=network-online.target Wants=network.target
After=network-online.target After=network.target
[Container] [Container]
ContainerName=flaresolverr ContainerName=flaresolverr

12
cookbooks/seedbox/jellyfin.container

@ -1,10 +1,10 @@
[Unit] [Unit]
Description= The Free Software Media System Description= The Free Software Media System
Documentation=https://docs.linuxserver.io/images/docker-jellyfin/ Documentation=https://docs.linuxserver.io/images/docker-jellyfin/
Wants=network-online.target Wants=network.target
After=network-online.target After=network.target
RequiresMountsFor=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/ssd
ConditionPathIsMountPoint=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/hdd
[Container] [Container]
ContainerName=jellyfin ContainerName=jellyfin
@ -18,8 +18,8 @@ User=10017
Group=10000 Group=10000
# Storage # Storage
Volume=/var/lib/virtiofs/data/jellyfin/config:/config:z Volume=/var/lib/virtiofs/ssd/jellyfin/config:/config:z
Volume=/var/lib/virtiofs/data/storage/media:/data:z Volume=/var/lib/virtiofs/hdd/media:/data:z
# Network # Network
AddCapability=CAP_NET_BIND_SERVICE AddCapability=CAP_NET_BIND_SERVICE

12
cookbooks/seedbox/lidarr.container

@ -1,10 +1,10 @@
[Unit] [Unit]
Description=Smart PVR for newsgroup and bittorrent users. Description=Smart PVR for newsgroup and bittorrent users.
Documentation=https://docs.linuxserver.io/images/docker-lidarr/ Documentation=https://docs.linuxserver.io/images/docker-lidarr/
Wants=network-online.target Wants=network.target
After=network-online.target After=network.target
RequiresMountsFor=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/ssd
ConditionPathIsMountPoint=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/hdd
[Container] [Container]
ContainerName=lidarr ContainerName=lidarr
@ -18,8 +18,8 @@ User=10017
Group=10000 Group=10000
# Storage # Storage
Volume=/var/lib/virtiofs/data/lidarr/config:/config:z Volume=/var/lib/virtiofs/ssd/lidarr/config:/config:z
Volume=/var/lib/virtiofs/data/storage:/data:z Volume=/var/lib/virtiofs/hdd:/data:z
# Network # Network
AddCapability=CAP_NET_BIND_SERVICE AddCapability=CAP_NET_BIND_SERVICE

6
cookbooks/seedbox/other/samba/10-shares.conf

@ -1,7 +1,7 @@
server string = Seedbox server string = Seedbox
[media] [media]
path = /data/storage/media path = /data/media
comment = Media comment = Media
valid users = @itix valid users = @itix
write list = @itix write list = @itix
@ -10,7 +10,7 @@ directory mask = 0775
create mask = 0664 create mask = 0664
[downloads] [downloads]
path = /data/storage/downloads path = /data/downloads
comment = Downloads comment = Downloads
valid users = @itix valid users = @itix
write list = @itix write list = @itix
@ -19,7 +19,7 @@ directory mask = 0775
create mask = 0664 create mask = 0664
[import] [import]
path = /data/storage/import path = /data/import
comment = Imports comment = Imports
valid users = @itix valid users = @itix
write list = @itix write list = @itix

13
cookbooks/seedbox/other/traefik/cross-seed.yaml

@ -0,0 +1,13 @@
http:
routers:
cross-seed:
rule: "Host(`cross-seed`)"
entryPoints:
- http
middlewares:
service: "cross-seed"
services:
cross-seed:
loadBalancer:
servers:
- url: "http://127.0.0.1:2468"

3
cookbooks/seedbox/other/traefik/jellyfin.yaml

@ -3,12 +3,9 @@ http:
jellyfin: jellyfin:
rule: "Host(`jellyfin`)" rule: "Host(`jellyfin`)"
entryPoints: entryPoints:
#- https
- http - http
middlewares: middlewares:
service: "jellyfin" service: "jellyfin"
#tls:
# certResolver: le
services: services:
jellyfin: jellyfin:
loadBalancer: loadBalancer:

3
cookbooks/seedbox/other/traefik/lidarr.yaml

@ -3,12 +3,9 @@ http:
lidarr: lidarr:
rule: "Host(`lidarr`)" rule: "Host(`lidarr`)"
entryPoints: entryPoints:
#- https
- http - http
middlewares: middlewares:
service: "lidarr" service: "lidarr"
#tls:
# certResolver: le
services: services:
lidarr: lidarr:
loadBalancer: loadBalancer:

3
cookbooks/seedbox/other/traefik/prowlarr.yaml

@ -3,12 +3,9 @@ http:
prowlarr: prowlarr:
rule: "Host(`prowlarr`)" rule: "Host(`prowlarr`)"
entryPoints: entryPoints:
#- https
- http - http
middlewares: middlewares:
service: "prowlarr" service: "prowlarr"
#tls:
# certResolver: le
services: services:
prowlarr: prowlarr:
loadBalancer: loadBalancer:

3
cookbooks/seedbox/other/traefik/qbittorrent.yaml

@ -3,12 +3,9 @@ http:
qbittorrent-webui: qbittorrent-webui:
rule: "Host(`qbittorrent`)" rule: "Host(`qbittorrent`)"
entryPoints: entryPoints:
#- https
- http - http
middlewares: middlewares:
service: "qbittorrent-webui" service: "qbittorrent-webui"
#tls:
# certResolver: le
services: services:
qbittorrent-webui: qbittorrent-webui:
loadBalancer: loadBalancer:

3
cookbooks/seedbox/other/traefik/radarr.yaml

@ -3,12 +3,9 @@ http:
radarr: radarr:
rule: "Host(`radarr`)" rule: "Host(`radarr`)"
entryPoints: entryPoints:
#- https
- http - http
middlewares: middlewares:
service: "radarr" service: "radarr"
#tls:
# certResolver: le
services: services:
radarr: radarr:
loadBalancer: loadBalancer:

3
cookbooks/seedbox/other/traefik/sonarr.yaml

@ -3,12 +3,9 @@ http:
sonarr: sonarr:
rule: "Host(`sonarr`)" rule: "Host(`sonarr`)"
entryPoints: entryPoints:
#- https
- http - http
middlewares: middlewares:
service: "sonarr" service: "sonarr"
#tls:
# certResolver: le
services: services:
sonarr: sonarr:
loadBalancer: loadBalancer:

12
cookbooks/seedbox/prowlarr.container

@ -1,10 +1,10 @@
[Unit] [Unit]
Description=Prowlarr is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps. Description=Prowlarr is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps.
Documentation=https://docs.linuxserver.io/images/docker-prowlarr/ Documentation=https://docs.linuxserver.io/images/docker-prowlarr/
Wants=network-online.target Wants=network.target
After=network-online.target After=network.target
RequiresMountsFor=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/ssd
ConditionPathIsMountPoint=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/hdd
[Container] [Container]
ContainerName=prowlarr ContainerName=prowlarr
@ -18,8 +18,8 @@ User=10017
Group=10000 Group=10000
# Storage # Storage
Volume=/var/lib/virtiofs/data/prowlarr/config:/config:z Volume=/var/lib/virtiofs/ssd/prowlarr/config:/config:z
Volume=/var/lib/virtiofs/data/storage:/data:z Volume=/var/lib/virtiofs/hdd:/data:z
# Network # Network
AddCapability=CAP_NET_BIND_SERVICE AddCapability=CAP_NET_BIND_SERVICE

16
cookbooks/seedbox/qbittorrent.container

@ -1,9 +1,9 @@
[Unit] [Unit]
Description=qBittorrent client Description=qBittorrent client
Wants=network-online.target Wants=network.target
After=network-online.target After=network.target
RequiresMountsFor=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/ssd
ConditionPathIsMountPoint=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/hdd
[Container] [Container]
ContainerName=qbittorrent ContainerName=qbittorrent
@ -17,11 +17,9 @@ User=10017
Group=10000 Group=10000
# Storage # Storage
Volume=/var/lib/virtiofs/data/qbittorrent/config:/config:z Volume=/var/lib/virtiofs/ssd/qbittorrent/config:/config:z
Volume=/var/lib/virtiofs/data/storage:/data:z Volume=/var/lib/virtiofs/ssd/qbittorrent/incomplete:/incomplete:z
Volume=/var/lib/virtiofs/hdd:/data:z
# This volume is required for torrents migrated from the old seedbox
Volume=/var/lib/virtiofs/data/storage/downloads:/downloads:z
# Network # Network
AddCapability=CAP_NET_BIND_SERVICE AddCapability=CAP_NET_BIND_SERVICE

12
cookbooks/seedbox/radarr.container

@ -1,10 +1,10 @@
[Unit] [Unit]
Description=Radarr is a movie collection manager for Usenet and BitTorrent users. Description=Radarr is a movie collection manager for Usenet and BitTorrent users.
Documentation=https://docs.linuxserver.io/images/docker-radarr/ Documentation=https://docs.linuxserver.io/images/docker-radarr/
Wants=network-online.target Wants=network.target
After=network-online.target After=network.target
RequiresMountsFor=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/ssd
ConditionPathIsMountPoint=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/hdd
[Container] [Container]
ContainerName=radarr ContainerName=radarr
@ -18,8 +18,8 @@ User=10017
Group=10000 Group=10000
# Storage # Storage
Volume=/var/lib/virtiofs/data/radarr/config:/config:z Volume=/var/lib/virtiofs/ssd/radarr/config:/config:z
Volume=/var/lib/virtiofs/data/storage:/data:z Volume=/var/lib/virtiofs/hdd:/data:z
# Network # Network
AddCapability=CAP_NET_BIND_SERVICE AddCapability=CAP_NET_BIND_SERVICE

4
cookbooks/seedbox/seedbox.target

@ -1,8 +1,8 @@
[Unit] [Unit]
Description=Seedbox Service Target Description=Seedbox Service Target
Documentation=man:systemd.target(5) Documentation=man:systemd.target(5)
Requires=radarr.service sonarr.service lidarr.service prowlarr.service qbittorrent.service jellyfin.service flaresolverr.service Requires=radarr.service sonarr.service lidarr.service prowlarr.service qbittorrent.service jellyfin.service flaresolverr.service cross-seed.service
After=radarr.service sonarr.service lidarr.service prowlarr.service qbittorrent.service jellyfin.service flaresolverr.service After=radarr.service sonarr.service lidarr.service prowlarr.service qbittorrent.service jellyfin.service flaresolverr.service cross-seed.service
# Allow isolation - can stop/start this target independently # Allow isolation - can stop/start this target independently
AllowIsolate=yes AllowIsolate=yes

12
cookbooks/seedbox/sonarr.container

@ -1,10 +1,10 @@
[Unit] [Unit]
Description=Smart PVR for newsgroup and bittorrent users. Description=Smart PVR for newsgroup and bittorrent users.
Documentation=https://docs.linuxserver.io/images/docker-sonarr/ Documentation=https://docs.linuxserver.io/images/docker-sonarr/
Wants=network-online.target Wants=network.target
After=network-online.target After=network.target
RequiresMountsFor=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/ssd
ConditionPathIsMountPoint=/var/lib/virtiofs/data RequiresMountsFor=/var/lib/virtiofs/hdd
[Container] [Container]
ContainerName=sonarr ContainerName=sonarr
@ -18,8 +18,8 @@ User=10017
Group=10000 Group=10000
# Storage # Storage
Volume=/var/lib/virtiofs/data/sonarr/config:/config:z Volume=/var/lib/virtiofs/ssd/sonarr/config:/config:z
Volume=/var/lib/virtiofs/data/storage:/data:z Volume=/var/lib/virtiofs/hdd:/data:z
# Network # Network
AddCapability=CAP_NET_BIND_SERVICE AddCapability=CAP_NET_BIND_SERVICE

47
cookbooks/seedbox/tmpfiles.d/seedbox.conf

@ -1,22 +1,25 @@
d$ /var/lib/virtiofs/data/storage 0755 0 0 - d$ /var/lib/virtiofs/hdd/storage 0755 0 0 -
d$ /var/lib/virtiofs/data/storage/media 0775 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/media 0775 10017 10000 -
d$ /var/lib/virtiofs/data/storage/media/movies 0775 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/media/movies 0775 10017 10000 -
d$ /var/lib/virtiofs/data/storage/media/series 0775 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/media/series 0775 10017 10000 -
d$ /var/lib/virtiofs/data/storage/media/music 0775 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/media/music 0775 10017 10000 -
d$ /var/lib/virtiofs/data/storage/downloads 0775 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/downloads 0775 10017 10000 -
d$ /var/lib/virtiofs/data/storage/torrents 0775 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/torrents 0775 10017 10000 -
d$ /var/lib/virtiofs/data/storage/import 0775 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/seed 0775 10017 10000 -
d$ /var/lib/virtiofs/data/radarr 0700 10017 10000 - d$ /var/lib/virtiofs/hdd/storage/import 0775 10017 10000 -
d$ /var/lib/virtiofs/data/radarr/config 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/radarr 0700 10017 10000 -
d$ /var/lib/virtiofs/data/radarr/config/tmp 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/radarr/config 0700 10017 10000 -
d$ /var/lib/virtiofs/data/radarr/config/xdg 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/radarr/config/tmp 0700 10017 10000 -
d$ /var/lib/virtiofs/data/sonarr 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/radarr/config/xdg 0700 10017 10000 -
d$ /var/lib/virtiofs/data/sonarr/config 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/sonarr 0700 10017 10000 -
d$ /var/lib/virtiofs/data/sonarr/config/tmp 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/sonarr/config 0700 10017 10000 -
d$ /var/lib/virtiofs/data/sonarr/config/xdg 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/sonarr/config/tmp 0700 10017 10000 -
d$ /var/lib/virtiofs/data/prowlarr 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/sonarr/config/xdg 0700 10017 10000 -
d$ /var/lib/virtiofs/data/prowlarr/config 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/prowlarr 0700 10017 10000 -
d$ /var/lib/virtiofs/data/prowlarr/config/tmp 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/prowlarr/config 0700 10017 10000 -
d$ /var/lib/virtiofs/data/prowlarr/config/xdg 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/prowlarr/config/tmp 0700 10017 10000 -
d$ /var/lib/virtiofs/data/jellyfin 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/prowlarr/config/xdg 0700 10017 10000 -
d$ /var/lib/virtiofs/data/jellyfin/config 0700 10017 10000 - d$ /var/lib/virtiofs/ssd/jellyfin 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/jellyfin/config 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/cross-seed 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/cross-seed/config 0700 10017 10000 -

16
cookbooks/seedbox/var-lib-virtiofs-hdd.mount

@ -0,0 +1,16 @@
[Unit]
Description=Mount the "hdd" virtio filesystem
Requires=discover-virtiofs-tags.service
After=discover-virtiofs-tags.service
# Only run if the "hdd" tag is present (as discovered by discover-virtiofs-tags.service)
ConditionPathExists=/run/quadlets/base/virtiofs/hdd
[Mount]
What=hdd
Where=/var/lib/virtiofs/hdd
Type=virtiofs
Options=context=system_u:object_r:container_file_t:s0
[Install]
WantedBy=local-fs.target

16
cookbooks/seedbox/var-lib-virtiofs-ssd.mount

@ -0,0 +1,16 @@
[Unit]
Description=Mount the "ssd" virtio filesystem
Requires=discover-virtiofs-tags.service
After=discover-virtiofs-tags.service
# Only run if the "ssd" tag is present (as discovered by discover-virtiofs-tags.service)
ConditionPathExists=/run/quadlets/base/virtiofs/ssd
[Mount]
What=ssd
Where=/var/lib/virtiofs/ssd
Type=virtiofs
Options=context=system_u:object_r:container_file_t:s0
[Install]
WantedBy=local-fs.target
Loading…
Cancel
Save