Compare commits

...

4 Commits

  1. 5
      cookbooks/base/Makefile
  2. 2
      cookbooks/base/config/examples/fastfetch.jsonc
  3. 0
      cookbooks/base/config/examples/install-tools.d/fastfetch.sh
  4. 0
      cookbooks/base/config/examples/install-tools.env
  5. 15
      cookbooks/base/config/install-tools.sh
  6. 5
      cookbooks/base/hooks.mk
  7. 15
      cookbooks/base/install-fastfetch.service
  8. 14
      cookbooks/base/install-tools.service
  9. 0
      cookbooks/base/profile.d/examples/fastfetch.sh
  10. 2
      cookbooks/samba/Makefile
  11. 11
      cookbooks/samba/samba.container
  12. 1
      cookbooks/samba/tmpfiles.d/samba.conf
  13. 7
      cookbooks/seedbox/cross-seed.container
  14. 7
      cookbooks/seedbox/flaresolverr.container
  15. 7
      cookbooks/seedbox/jellyfin.container
  16. 7
      cookbooks/seedbox/lidarr.container
  17. 7
      cookbooks/seedbox/prowlarr.container
  18. 9
      cookbooks/seedbox/qbittorrent.container
  19. 7
      cookbooks/seedbox/radarr.container
  20. 8
      cookbooks/seedbox/sonarr.container
  21. 5
      cookbooks/seedbox/tmpfiles.d/seedbox.conf
  22. 2
      cookbooks/vmagent/Makefile

5
cookbooks/base/Makefile

@ -1,11 +1,14 @@
SYSTEMD_MAIN_UNIT_NAMES := var-lib-virtiofs-data.mount
SYSTEMD_MAIN_UNIT_NAMES += rpm-ostree-install-qemu-guest-agent.service
SYSTEMD_MAIN_UNIT_NAMES += install-fastfetch.service
SYSTEMD_MAIN_UNIT_NAMES += install-tools.service
# Include common Makefile
include ../../scripts/common.mk
$(TARGET_CHROOT)/etc/quadlets/base/install-tools.d:
install -d -m 0755 -o root -g root -D $@
pre-requisites::
@set -Eeuo pipefail; \
for tool in rpm-ostree; do \

2
cookbooks/base/config/examples/fastfetch.jsonc

@ -80,7 +80,7 @@
"type": "disk",
"format": "{size-percentage-bar} {size-percentage>4}",
"key": "Vol. {mountpoint}",
"folders": "/var:/var/lib/virtiofs/data",
"folders": "/var:/var/lib/virtiofs/data:/var/lib/virtiofs/ssd:/var/lib/virtiofs/hdd",
"percent": {
"green": 75,
"yellow": 90

0
cookbooks/base/config/install-fastfetch.sh → cookbooks/base/config/examples/install-tools.d/fastfetch.sh

0
cookbooks/base/config/examples/fastfetch.env → cookbooks/base/config/examples/install-tools.env

15
cookbooks/base/config/install-tools.sh

@ -0,0 +1,15 @@
#!/bin/bash
set -Eeuo pipefail
ret=0
for tool in /etc/quadlets/base/install-tools.d/*.sh; do
tool_name="$(basename "$tool" .sh)"
echo "Installing $tool_name..."
if ! "$tool"; then
echo "Failed to install $tool_name!" >&2
ret=1
fi
done
exit $ret

5
cookbooks/base/hooks.mk

@ -0,0 +1,5 @@
# Tools installation scripts
TARGET_INSTALL_TOOLS_FILES = $(patsubst other/base/install-tools.d/%, $(TARGET_CHROOT)/etc/quadlets/base/install-tools.d/%, $(wildcard other/base/install-tools.d/*))
TARGET_EXAMPLE_FILES += $(TARGET_INSTALL_TOOLS_FILES)
$(TARGET_CHROOT)/etc/quadlets/base/install-tools.d/%.sh: other/base/install-tools.d/%.sh
install -m 0755 -o root -g root $< $@

15
cookbooks/base/install-fastfetch.service

@ -1,15 +0,0 @@
[Unit]
Description=Install fastfetch
Wants=network-online.target
After=network-online.target
ConditionPathExists=!/usr/local/bin/fastfetch
ConditionPathExists=/etc/quadlets/base/fastfetch.env
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/quadlets/base/install-fastfetch.sh
EnvironmentFile=/etc/quadlets/base/fastfetch.env
[Install]
WantedBy=multi-user.target

14
cookbooks/base/install-tools.service

@ -0,0 +1,14 @@
[Unit]
Description=Install tools
Wants=network-online.target
After=network-online.target
ConditionPathExists=/etc/quadlets/base/install-tools.env
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/quadlets/base/install-tools.sh
EnvironmentFile=/etc/quadlets/base/install-tools.env
[Install]
WantedBy=multi-user.target

0
cookbooks/base/profile.d/fastfetch.sh → cookbooks/base/profile.d/examples/fastfetch.sh

2
cookbooks/samba/Makefile

@ -2,4 +2,4 @@
include ../../scripts/common.mk
$(TARGET_CHROOT)/etc/quadlets/samba/smb.conf.d:
install -d -m 0700 -o $(PROJECT_UID) -g $(PROJECT_GID) -D $< $@
install -d -m 0700 -o $(PROJECT_UID) -g $(PROJECT_GID) -D $@

11
cookbooks/samba/samba.container

@ -34,5 +34,16 @@ Network=host
# Samba debug level
Exec=--debuglevel=1
# Health check
HealthCmd=smbclient -t 3 -N -L //127.0.0.1
HealthInterval=30s
HealthTimeout=10s
HealthStartPeriod=30s
HealthRetries=3
[Service]
# The /etc/shadow file cannot be copied by systemd-tmpfiles (because of SELinux) so we need to copy it before starting the container
ExecStartPre=/bin/cp /etc/shadow /run/quadlets/samba/shadow
[Install]
WantedBy=samba.target

1
cookbooks/samba/tmpfiles.d/samba.conf

@ -5,4 +5,3 @@ d$ /var/lib/virtiofs/data/storage 0755 0 0 -
d$ /run/quadlets/samba 0700 0 0 -
C$ /run/quadlets/samba/passwd - - - - /etc/passwd
C$ /run/quadlets/samba/group - - - - /etc/group
C$ /run/quadlets/samba/shadow - - - - /etc/shadow

7
cookbooks/seedbox/cross-seed.container

@ -29,5 +29,12 @@ Network=host
Environment=TZ=Etc/UTC HOME=/config
Exec=daemon
# Health check
HealthCmd=curl -f http://127.0.0.1:2468/api/ping
HealthInterval=30s
HealthTimeout=10s
HealthStartPeriod=10s
HealthRetries=3
[Install]
WantedBy=seedbox.target

7
cookbooks/seedbox/flaresolverr.container

@ -23,5 +23,12 @@ Network=host
# Configuration
Environment=LOG_LEVEL=debug TZ=Europe/Paris HOST=127.0.0.1 PROMETHEUS_ENABLED=true PROMETHEUS_PORT=8192 LANG=fr_FR
# Health check
HealthCmd=curl -f http://127.0.0.1:8191/
HealthInterval=30s
HealthTimeout=10s
HealthStartPeriod=300s
HealthRetries=3
[Install]
WantedBy=seedbox.target

7
cookbooks/seedbox/jellyfin.container

@ -30,5 +30,12 @@ Environment=PUID=10017 PGID=10000 JELLYFIN_DATA_DIR=/config/data JELLYFIN_CONFIG
Entrypoint=/usr/bin/jellyfin
Exec=--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg
# Health check
HealthCmd=curl -f http://127.0.0.1:8096/health
HealthInterval=30s
HealthTimeout=10s
HealthStartPeriod=30s
HealthRetries=3
[Install]
WantedBy=seedbox.target

7
cookbooks/seedbox/lidarr.container

@ -31,5 +31,12 @@ Entrypoint=/app/lidarr/bin/Lidarr
Exec=-nobrowser -data=/config
WorkingDir=/app/lidarr/bin
# Health check
HealthCmd=curl -f http://127.0.0.1:8686/ping
HealthInterval=30s
HealthTimeout=10s
HealthStartPeriod=30s
HealthRetries=3
[Install]
WantedBy=seedbox.target

7
cookbooks/seedbox/prowlarr.container

@ -31,5 +31,12 @@ Entrypoint=/app/prowlarr/bin/Prowlarr
Exec=-nobrowser -data=/config
WorkingDir=/app/prowlarr/bin
# Health check
HealthCmd=curl -f http://127.0.0.1:9696/ping
HealthInterval=30s
HealthTimeout=10s
HealthStartPeriod=30s
HealthRetries=3
[Install]
WantedBy=seedbox.target

9
cookbooks/seedbox/qbittorrent.container

@ -27,8 +27,15 @@ Network=host
# Configuration
Environment=PUID=10017 PGID=10000 TZ=Etc/UTC WEBUI_PORT=8080
Entrypoint=/usr/bin/qbittorrent-nox
Entrypoint=/app/qbittorrent-nox
Exec=--webui-port=8080
# Health check
HealthCmd=curl -f http://127.0.0.1:8080/health
HealthInterval=30s
HealthTimeout=10s
HealthStartPeriod=30s
HealthRetries=3
[Install]
WantedBy=seedbox.target

7
cookbooks/seedbox/radarr.container

@ -31,5 +31,12 @@ Entrypoint=/app/radarr/bin/Radarr
Exec=-nobrowser -data=/config
WorkingDir=/app/radarr/bin
# Health check
HealthCmd=curl -f http://127.0.0.1:7878/ping
HealthInterval=30s
HealthTimeout=10s
HealthStartPeriod=30s
HealthRetries=3
[Install]
WantedBy=seedbox.target

8
cookbooks/seedbox/sonarr.container

@ -27,10 +27,16 @@ 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
# Health check
HealthCmd=curl -f http://127.0.0.1:8989/ping
HealthInterval=30s
HealthTimeout=10s
HealthStartPeriod=30s
HealthRetries=3
[Install]
WantedBy=seedbox.target

5
cookbooks/seedbox/tmpfiles.d/seedbox.conf

@ -6,6 +6,7 @@ d$ /var/lib/virtiofs/hdd/storage/media/music 0775 10017 10000 -
d$ /var/lib/virtiofs/hdd/storage/downloads 0775 10017 10000 -
d$ /var/lib/virtiofs/hdd/storage/torrents 0775 10017 10000 -
d$ /var/lib/virtiofs/hdd/storage/seed 0775 10017 10000 -
d$ /var/lib/virtiofs/hdd/storage/cross-seed 0775 10017 10000 -
d$ /var/lib/virtiofs/hdd/storage/import 0775 10017 10000 -
d$ /var/lib/virtiofs/ssd/radarr 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/radarr/config 0700 10017 10000 -
@ -15,6 +16,10 @@ d$ /var/lib/virtiofs/ssd/sonarr 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/sonarr/config 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/sonarr/config/tmp 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/sonarr/config/xdg 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/lidarr 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/lidarr/config 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/lidarr/config/tmp 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/lidarr/config/xdg 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/prowlarr 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/prowlarr/config 0700 10017 10000 -
d$ /var/lib/virtiofs/ssd/prowlarr/config/tmp 0700 10017 10000 -

2
cookbooks/vmagent/Makefile

@ -12,4 +12,4 @@ include ../../scripts/common.mk
SYSTEMD_MAIN_UNIT_NAMES += vmagent.service
$(TARGET_CHROOT)/etc/quadlets/vmagent/conf.d:
install -d -m 0700 -o $(PROJECT_UID) -g $(PROJECT_GID) -D $< $@
install -d -m 0700 -o $(PROJECT_UID) -g $(PROJECT_GID) -D $@

Loading…
Cancel
Save