25 changed files with 526 additions and 0 deletions
@ -0,0 +1,22 @@ |
|||
##
|
|||
## Makefile for Restic REST Server quadlet
|
|||
##
|
|||
|
|||
DEPENDENCIES = traefik |
|||
|
|||
# Restic REST Server quadlet is mapped to the 10022 user (restic) and 10000 group (itix-svc)
|
|||
PROJECT_UID = 10022 |
|||
PROJECT_GID = 10000 |
|||
|
|||
TOP_LEVEL_DIR := .. |
|||
include $(TOP_LEVEL_DIR)/Makefile.common |
|||
|
|||
SYSTEMD_MAIN_UNIT_NAMES += restic-server.service |
|||
|
|||
TARGET_TRAEFIK_FILES = $(patsubst other/traefik/%, $(TARGET_CHROOT)/etc/quadlets/traefik/conf.d/%, $(wildcard other/traefik/*)) |
|||
|
|||
install-examples: $(TARGET_TRAEFIK_FILES) |
|||
|
|||
$(TARGET_CHROOT)/etc/quadlets/traefik/conf.d/%: other/traefik/% |
|||
install -m 0644 -o 10001 -g 10000 $< $@ |
|||
|
|||
@ -0,0 +1,23 @@ |
|||
http: |
|||
middlewares: |
|||
ip_from_internal_network: |
|||
IPAllowList: |
|||
sourceRange: |
|||
- "127.0.0.1/32" |
|||
- "192.168.0.0/16" |
|||
routers: |
|||
restic: |
|||
rule: "Host(`restic`)" |
|||
entryPoints: |
|||
- http |
|||
#- https |
|||
middlewares: |
|||
- ip_from_internal_network |
|||
service: restic |
|||
#tls: |
|||
# certResolver: le |
|||
services: |
|||
restic: |
|||
loadBalancer: |
|||
servers: |
|||
- url: "http://localhost:8080" |
|||
@ -0,0 +1,9 @@ |
|||
variant: fcos |
|||
version: 1.4.0 |
|||
passwd: |
|||
users: |
|||
- name: restic |
|||
uid: 10022 |
|||
gecos: Restic |
|||
home_dir: /var/lib/quadlets/restic |
|||
primary_group: itix-svc |
|||
@ -0,0 +1,31 @@ |
|||
[Unit] |
|||
Description=Restic REST Server |
|||
After=local-fs.target network-online.target |
|||
Wants=network-online.target |
|||
RequiresMountsFor=/var/lib/virtiofs/data /var |
|||
|
|||
[Container] |
|||
ContainerName=restic |
|||
|
|||
# Image |
|||
Image=docker.io/restic/rest-server:latest |
|||
AutoUpdate=registry |
|||
|
|||
# Security |
|||
User=10022 |
|||
Group=10000 |
|||
|
|||
# Storage |
|||
Volume=/var/lib/virtiofs/data/restic-server:/data:z |
|||
Volume=/var/lib/quadlets/restic-server/log:/var/log/restic:z |
|||
|
|||
# Network |
|||
AddCapability=CAP_NET_BIND_SERVICE |
|||
Network=host |
|||
|
|||
# Configuration |
|||
Environment=OPTIONS="--append-only --listen 127.0.0.1:8080 --log /var/log/restic/rest-server.log --private-repos --prometheus --prometheus-no-auth" |
|||
|
|||
[Install] |
|||
# Start by default on boot |
|||
WantedBy=multi-user.target |
|||
@ -0,0 +1,2 @@ |
|||
d$ /var/lib/virtiofs/data/restic-server 0700 10022 10000 - |
|||
d$ /var/lib/quadlets/restic-server/log 0755 10022 10000 - |
|||
@ -0,0 +1,24 @@ |
|||
##
|
|||
## Makefile for Seedbox quadlet
|
|||
##
|
|||
|
|||
DEPENDENCIES = traefik |
|||
|
|||
# Seedbox quadlet is mapped to the 10017 user (seedbox) and 10000 group (itix-svc)
|
|||
PROJECT_UID = 10017 |
|||
PROJECT_GID = 10000 |
|||
|
|||
TOP_LEVEL_DIR := .. |
|||
include $(TOP_LEVEL_DIR)/Makefile.common |
|||
|
|||
TARGET_TRAEFIK_FILES = $(patsubst other/traefik/%, $(TARGET_CHROOT)/etc/quadlets/traefik/conf.d/%, $(wildcard other/traefik/*)) |
|||
TARGET_SAMBA_FILES = $(patsubst other/samba/%, $(TARGET_CHROOT)/etc/quadlets/samba/smb.conf.d/%, $(wildcard other/samba/*)) |
|||
|
|||
install-examples: $(TARGET_TRAEFIK_FILES) $(TARGET_SAMBA_FILES) |
|||
|
|||
$(TARGET_CHROOT)/etc/quadlets/samba/smb.conf.d/%: other/samba/% |
|||
install -m 0644 -o root -g root $< $@ |
|||
|
|||
$(TARGET_CHROOT)/etc/quadlets/traefik/conf.d/%: other/traefik/% |
|||
install -m 0644 -o 10001 -g 10000 $< $@ |
|||
|
|||
@ -0,0 +1,27 @@ |
|||
[Unit] |
|||
Description=Proxy server to bypass Cloudflare protection |
|||
Documentation=https://github.com/FlareSolverr/FlareSolverr/ |
|||
Wants=network-online.target |
|||
After=network-online.target |
|||
|
|||
[Container] |
|||
ContainerName=flaresolverr |
|||
|
|||
# Image |
|||
Image=ghcr.io/flaresolverr/flaresolverr:latest |
|||
AutoUpdate=registry |
|||
|
|||
# Security |
|||
# <by default it runs as "flaresolverr"> |
|||
|
|||
# Storage |
|||
# <no storage> |
|||
|
|||
# Network |
|||
Network=host |
|||
|
|||
# Configuration |
|||
Environment=LOG_LEVEL=debug TZ=Europe/Paris HOST=127.0.0.1 PROMETHEUS_ENABLED=true PROMETHEUS_PORT=8192 LANG=fr_FR |
|||
|
|||
[Install] |
|||
WantedBy=seedbox.target |
|||
@ -0,0 +1,34 @@ |
|||
[Unit] |
|||
Description= The Free Software Media System |
|||
Documentation=https://docs.linuxserver.io/images/docker-jellyfin/ |
|||
Wants=network-online.target |
|||
After=network-online.target |
|||
RequiresMountsFor=/var/lib/virtiofs/data |
|||
ConditionPathIsMountPoint=/var/lib/virtiofs/data |
|||
|
|||
[Container] |
|||
ContainerName=jellyfin |
|||
|
|||
# Image |
|||
Image=lscr.io/linuxserver/jellyfin:latest |
|||
AutoUpdate=registry |
|||
|
|||
# Security |
|||
User=10017 |
|||
Group=10000 |
|||
|
|||
# Storage |
|||
Volume=/var/lib/virtiofs/data/jellyfin/config:/config:z |
|||
Volume=/var/lib/virtiofs/data/storage/media:/data:z |
|||
|
|||
# Network |
|||
AddCapability=CAP_NET_BIND_SERVICE |
|||
Network=host |
|||
|
|||
# Configuration |
|||
Environment=PUID=10017 PGID=10000 JELLYFIN_DATA_DIR=/config/data JELLYFIN_CONFIG_DIR=/config JELLYFIN_LOG_DIR=/config/log JELLYFIN_CACHE_DIR=/config/cache JELLYFIN_WEB_DIR=/usr/share/jellyfin/web TZ=Etc/UTC |
|||
Entrypoint=/usr/bin/jellyfin |
|||
Exec=--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg |
|||
|
|||
[Install] |
|||
WantedBy=seedbox.target |
|||
@ -0,0 +1,35 @@ |
|||
[Unit] |
|||
Description=Smart PVR for newsgroup and bittorrent users. |
|||
Documentation=https://docs.linuxserver.io/images/docker-lidarr/ |
|||
Wants=network-online.target |
|||
After=network-online.target |
|||
RequiresMountsFor=/var/lib/virtiofs/data |
|||
ConditionPathIsMountPoint=/var/lib/virtiofs/data |
|||
|
|||
[Container] |
|||
ContainerName=lidarr |
|||
|
|||
# Image |
|||
Image=lscr.io/linuxserver/lidarr:latest |
|||
AutoUpdate=registry |
|||
|
|||
# Security |
|||
User=10017 |
|||
Group=10000 |
|||
|
|||
# Storage |
|||
Volume=/var/lib/virtiofs/data/lidarr/config:/config:z |
|||
Volume=/var/lib/virtiofs/data/storage:/data:z |
|||
|
|||
# Network |
|||
AddCapability=CAP_NET_BIND_SERVICE |
|||
Network=host |
|||
|
|||
# Configuration |
|||
Environment=PUID=10017 PGID=10000 TZ=Etc/UTC HOME=/config TMPDIR=/config/tmp |
|||
Entrypoint=/app/lidarr/bin/Lidarr |
|||
Exec=-nobrowser -data=/config |
|||
WorkingDir=/app/lidarr/bin |
|||
|
|||
[Install] |
|||
WantedBy=seedbox.target |
|||
@ -0,0 +1,28 @@ |
|||
server string = Seedbox |
|||
|
|||
[media] |
|||
path = /data/storage/media |
|||
comment = Media |
|||
valid users = @itix |
|||
write list = @itix |
|||
group = itix |
|||
directory mask = 0775 |
|||
create mask = 0664 |
|||
|
|||
[downloads] |
|||
path = /data/storage/downloads |
|||
comment = Downloads |
|||
valid users = @itix |
|||
write list = @itix |
|||
group = itix |
|||
directory mask = 0775 |
|||
create mask = 0664 |
|||
|
|||
[import] |
|||
path = /data/storage/import |
|||
comment = Imports |
|||
valid users = @itix |
|||
write list = @itix |
|||
group = itix |
|||
directory mask = 0775 |
|||
create mask = 0664 |
|||
@ -0,0 +1,16 @@ |
|||
http: |
|||
routers: |
|||
jellyfin: |
|||
rule: "Host(`jellyfin`)" |
|||
entryPoints: |
|||
#- https |
|||
- http |
|||
middlewares: |
|||
service: "jellyfin" |
|||
#tls: |
|||
# certResolver: le |
|||
services: |
|||
jellyfin: |
|||
loadBalancer: |
|||
servers: |
|||
- url: "http://127.0.0.1:8096" |
|||
@ -0,0 +1,16 @@ |
|||
http: |
|||
routers: |
|||
lidarr: |
|||
rule: "Host(`lidarr`)" |
|||
entryPoints: |
|||
#- https |
|||
- http |
|||
middlewares: |
|||
service: "lidarr" |
|||
#tls: |
|||
# certResolver: le |
|||
services: |
|||
lidarr: |
|||
loadBalancer: |
|||
servers: |
|||
- url: "http://127.0.0.1:8686" |
|||
@ -0,0 +1,16 @@ |
|||
http: |
|||
routers: |
|||
prowlarr: |
|||
rule: "Host(`prowlarr`)" |
|||
entryPoints: |
|||
#- https |
|||
- http |
|||
middlewares: |
|||
service: "prowlarr" |
|||
#tls: |
|||
# certResolver: le |
|||
services: |
|||
prowlarr: |
|||
loadBalancer: |
|||
servers: |
|||
- url: "http://127.0.0.1:9696" |
|||
@ -0,0 +1,16 @@ |
|||
http: |
|||
routers: |
|||
qbittorrent-webui: |
|||
rule: "Host(`qbittorrent`)" |
|||
entryPoints: |
|||
#- https |
|||
- http |
|||
middlewares: |
|||
service: "qbittorrent-webui" |
|||
#tls: |
|||
# certResolver: le |
|||
services: |
|||
qbittorrent-webui: |
|||
loadBalancer: |
|||
servers: |
|||
- url: "http://127.0.0.1:8080" |
|||
@ -0,0 +1,16 @@ |
|||
http: |
|||
routers: |
|||
radarr: |
|||
rule: "Host(`radarr`)" |
|||
entryPoints: |
|||
#- https |
|||
- http |
|||
middlewares: |
|||
service: "radarr" |
|||
#tls: |
|||
# certResolver: le |
|||
services: |
|||
radarr: |
|||
loadBalancer: |
|||
servers: |
|||
- url: "http://127.0.0.1:7878" |
|||
@ -0,0 +1,16 @@ |
|||
http: |
|||
routers: |
|||
sonarr: |
|||
rule: "Host(`sonarr`)" |
|||
entryPoints: |
|||
#- https |
|||
- http |
|||
middlewares: |
|||
service: "sonarr" |
|||
#tls: |
|||
# certResolver: le |
|||
services: |
|||
sonarr: |
|||
loadBalancer: |
|||
servers: |
|||
- url: "http://127.0.0.1:8989" |
|||
@ -0,0 +1,9 @@ |
|||
variant: fcos |
|||
version: 1.4.0 |
|||
passwd: |
|||
users: |
|||
- name: seedbox |
|||
uid: 10017 |
|||
gecos: seedbox |
|||
home_dir: /var/lib/quadlets/seedbox |
|||
primary_group: itix-svc |
|||
@ -0,0 +1,35 @@ |
|||
[Unit] |
|||
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/ |
|||
Wants=network-online.target |
|||
After=network-online.target |
|||
RequiresMountsFor=/var/lib/virtiofs/data |
|||
ConditionPathIsMountPoint=/var/lib/virtiofs/data |
|||
|
|||
[Container] |
|||
ContainerName=prowlarr |
|||
|
|||
# Image |
|||
Image=lscr.io/linuxserver/prowlarr:latest |
|||
AutoUpdate=registry |
|||
|
|||
# Security |
|||
User=10017 |
|||
Group=10000 |
|||
|
|||
# Storage |
|||
Volume=/var/lib/virtiofs/data/prowlarr/config:/config:z |
|||
Volume=/var/lib/virtiofs/data/storage:/data:z |
|||
|
|||
# Network |
|||
AddCapability=CAP_NET_BIND_SERVICE |
|||
Network=host |
|||
|
|||
# Configuration |
|||
Environment=PUID=10017 PGID=10000 TZ=Etc/UTC HOME=/config TMPDIR=/config/tmp |
|||
Entrypoint=/app/prowlarr/bin/Prowlarr |
|||
Exec=-nobrowser -data=/config |
|||
WorkingDir=/app/prowlarr/bin |
|||
|
|||
[Install] |
|||
WantedBy=seedbox.target |
|||
@ -0,0 +1,36 @@ |
|||
[Unit] |
|||
Description=qBittorrent client |
|||
Wants=network-online.target |
|||
After=network-online.target |
|||
RequiresMountsFor=/var/lib/virtiofs/data |
|||
ConditionPathIsMountPoint=/var/lib/virtiofs/data |
|||
|
|||
[Container] |
|||
ContainerName=qbittorrent |
|||
|
|||
# Image |
|||
Image=lscr.io/linuxserver/qbittorrent:latest |
|||
AutoUpdate=registry |
|||
|
|||
# Security |
|||
User=10017 |
|||
Group=10000 |
|||
|
|||
# Storage |
|||
Volume=/var/lib/virtiofs/data/qbittorrent/config:/config:z |
|||
Volume=/var/lib/virtiofs/data/storage:/data:z |
|||
|
|||
# This volume is required for torrents migrated from the old seedbox |
|||
Volume=/var/lib/virtiofs/data/storage/downloads:/downloads:z |
|||
|
|||
# Network |
|||
AddCapability=CAP_NET_BIND_SERVICE |
|||
Network=host |
|||
|
|||
# Configuration |
|||
Environment=PUID=10017 PGID=10000 TZ=Etc/UTC WEBUI_PORT=8080 |
|||
Entrypoint=/usr/bin/qbittorrent-nox |
|||
Exec=--webui-port=8080 |
|||
|
|||
[Install] |
|||
WantedBy=seedbox.target |
|||
@ -0,0 +1,35 @@ |
|||
[Unit] |
|||
Description=Radarr is a movie collection manager for Usenet and BitTorrent users. |
|||
Documentation=https://docs.linuxserver.io/images/docker-radarr/ |
|||
Wants=network-online.target |
|||
After=network-online.target |
|||
RequiresMountsFor=/var/lib/virtiofs/data |
|||
ConditionPathIsMountPoint=/var/lib/virtiofs/data |
|||
|
|||
[Container] |
|||
ContainerName=radarr |
|||
|
|||
# Image |
|||
Image=lscr.io/linuxserver/radarr:latest |
|||
AutoUpdate=registry |
|||
|
|||
# Security |
|||
User=10017 |
|||
Group=10000 |
|||
|
|||
# Storage |
|||
Volume=/var/lib/virtiofs/data/radarr/config:/config:z |
|||
Volume=/var/lib/virtiofs/data/storage:/data:z |
|||
|
|||
# Network |
|||
AddCapability=CAP_NET_BIND_SERVICE |
|||
Network=host |
|||
|
|||
# Configuration |
|||
Environment=PUID=10017 PGID=10000 TZ=Etc/UTC HOME=/config TMPDIR=/config/tmp |
|||
Entrypoint=/app/radarr/bin/Radarr |
|||
Exec=-nobrowser -data=/config |
|||
WorkingDir=/app/radarr/bin |
|||
|
|||
[Install] |
|||
WantedBy=seedbox.target |
|||
@ -0,0 +1,11 @@ |
|||
[Unit] |
|||
Description=Seedbox Service Target |
|||
Documentation=man:systemd.target(5) |
|||
Requires=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 |
|||
|
|||
# Allow isolation - can stop/start this target independently |
|||
AllowIsolate=yes |
|||
|
|||
[Install] |
|||
WantedBy=multi-user.target |
|||
@ -0,0 +1,36 @@ |
|||
[Unit] |
|||
Description=Smart PVR for newsgroup and bittorrent users. |
|||
Documentation=https://docs.linuxserver.io/images/docker-sonarr/ |
|||
Wants=network-online.target |
|||
After=network-online.target |
|||
RequiresMountsFor=/var/lib/virtiofs/data |
|||
ConditionPathIsMountPoint=/var/lib/virtiofs/data |
|||
|
|||
[Container] |
|||
ContainerName=sonarr |
|||
|
|||
# Image |
|||
Image=lscr.io/linuxserver/sonarr:latest |
|||
AutoUpdate=registry |
|||
|
|||
# Security |
|||
User=10017 |
|||
Group=10000 |
|||
|
|||
# Storage |
|||
Volume=/var/lib/virtiofs/data/sonarr/config:/config:z |
|||
Volume=/var/lib/virtiofs/data/storage:/data:z |
|||
|
|||
# Network |
|||
AddCapability=CAP_NET_BIND_SERVICE |
|||
Network=host |
|||
|
|||
# Configuration |
|||
Environment=PUID=10017 PGID=10000 TZ=Etc/UTC HOME=/config TMPDIR=/config/tmp |
|||
|
|||
Entrypoint=/app/sonarr/bin/Sonarr |
|||
Exec=-nobrowser -data=/config |
|||
WorkingDir=/app/sonarr/bin |
|||
|
|||
[Install] |
|||
WantedBy=seedbox.target |
|||
@ -0,0 +1 @@ |
|||
fs.inotify.max_user_instances=8192 |
|||
@ -0,0 +1,22 @@ |
|||
d$ /var/lib/virtiofs/data/storage 0755 0 0 - |
|||
d$ /var/lib/virtiofs/data/storage/media 0775 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/storage/media/movies 0775 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/storage/media/series 0775 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/storage/media/music 0775 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/storage/downloads 0775 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/storage/torrents 0775 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/storage/import 0775 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/radarr 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/radarr/config 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/radarr/config/tmp 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/radarr/config/xdg 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/sonarr 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/sonarr/config 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/sonarr/config/tmp 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/sonarr/config/xdg 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/prowlarr 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/prowlarr/config 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/prowlarr/config/tmp 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/prowlarr/config/xdg 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/jellyfin 0700 10017 10000 - |
|||
d$ /var/lib/virtiofs/data/jellyfin/config 0700 10017 10000 - |
|||
@ -0,0 +1,10 @@ |
|||
[Unit] |
|||
Description=Rebuild the vsftpd container image |
|||
PartOf=vsftpd.target |
|||
|
|||
[Timer] |
|||
OnCalendar=daily |
|||
Persistent=true |
|||
|
|||
[Install] |
|||
WantedBy=vsftpd.target |
|||
Loading…
Reference in new issue