Migrate to Nix's Pinchflat from container

The primary motivator here was that the NFO files from Pinchflat had the
path to everything starting at `/downloads` and that didn't work well
with Jellyfin who saw the real path to the files
This commit is contained in:
Gene Liverman 2026-01-24 14:49:24 -05:00
parent 5a85cc5ed4
commit d347228cbb
Signed by: genebean
SSH key fingerprint: SHA256:gMnZbl3rg8nIXl4AomxNeNiOG4mWP/xEywbmQjVfhtY
2 changed files with 8 additions and 41 deletions

View file

@ -1,39 +0,0 @@
{ config, ... }: let
volume_base = "/orico/pinchflat";
jellyfin_youtube = "/orico/jellyfin/data/YouTube";
container_user = "jellyfin";
uid = "990";
gid = "989";
in {
virtualisation.oci-containers.containers = {
"pinchflat" = {
autoStart = true;
environmentFiles = [
"${volume_base}/.env"
];
extraOptions = [
"--security-opt"
"label=disable"
"--userns=keep-id"
];
image = "ghcr.io/kieraneglin/pinchflat:latest";
ports = [
"8945:8945"
];
user = "${uid}:${gid}"; # observed UID:GID of jellyfin user
volumes = [
"${volume_base}/config:/config"
"${jellyfin_youtube}:/downloads"
];
};
};
services.restic.backups.daily.paths = [ volume_base ];
sops.secrets.pinchflat_dot_env = {
owner = "${container_user}";
path = "${volume_base}/.env";
restartUnits = [ "${config.virtualisation.oci-containers.containers.pinchflat.serviceName}" ];
};
}

View file

@ -10,7 +10,6 @@ in {
./hardware-configuration.nix ./hardware-configuration.nix
./containers/audiobookshelf.nix ./containers/audiobookshelf.nix
./containers/mountain-mesh-bot-discord.nix ./containers/mountain-mesh-bot-discord.nix
./containers/pinchflat.nix
./containers/psitransfer.nix ./containers/psitransfer.nix
../../common/linux/lets-encrypt.nix ../../common/linux/lets-encrypt.nix
../../common/linux/restic.nix ../../common/linux/restic.nix
@ -96,7 +95,7 @@ in {
8384 # Syncthing gui 8384 # Syncthing gui
8888 # Atuin 8888 # Atuin
8090 # Wallabag in docker compose 8090 # Wallabag in docker compose
8945 # Pinchflat in oci-container 8945 # Pinchflat
9090 # Prometheus Server 9090 # Prometheus Server
9273 # Telegraf's Prometheus endpoint 9273 # Telegraf's Prometheus endpoint
13378 # Audiobookshelf in oci-container 13378 # Audiobookshelf in oci-container
@ -490,6 +489,13 @@ in {
}; };
}; };
}; };
pinchflat = {
enable = true;
group = "jellyfin";
mediaDir = "/orico/jellyfin/data/Pinchflat";
selfhosted = true; # Only because this is not exsposed to the web
user = "jellyfin";
};
postgresql = { postgresql = {
enable = true; enable = true;
package = pkgs.postgresql_16; package = pkgs.postgresql_16;