57 lines
1.1 KiB
Nix
57 lines
1.1 KiB
Nix
{ pkgs, ... }:
|
|
let
|
|
entrypoint = pkgs.writeTextFile {
|
|
name = "entrypoint";
|
|
executable = true;
|
|
destination = "/bin/entrypoint";
|
|
text = builtins.readFile ./entrypoint.sh;
|
|
};
|
|
|
|
flood-for-transmission = pkgs.runCommandLocal "flood-for-transmission" { } ''
|
|
mkdir -p $out/var/www
|
|
cp -r ${pkgs.flood-for-transmission} $out/var/www/transmission
|
|
'';
|
|
in
|
|
pkgs.dockerTools.buildImage {
|
|
name = "transmission-protonvpn";
|
|
fromImage = import ../base { inherit pkgs; };
|
|
|
|
copyToRoot = pkgs.buildEnv {
|
|
name = "root";
|
|
paths = [
|
|
entrypoint
|
|
flood-for-transmission
|
|
pkgs.transmission_4
|
|
pkgs.wireguard-tools
|
|
pkgs.libnatpmp
|
|
pkgs.curl
|
|
pkgs.jq
|
|
];
|
|
pathsToLink = [
|
|
"/bin"
|
|
"/lib"
|
|
"/share"
|
|
"/var"
|
|
];
|
|
};
|
|
|
|
runAsRoot = ''
|
|
mkdir -p /tmp
|
|
'';
|
|
|
|
config = {
|
|
Entrypoint = [ "entrypoint" ];
|
|
ExposedPorts = {
|
|
"9091/tcp" = { };
|
|
};
|
|
Volumes = {
|
|
"/etc/transmission" = { };
|
|
"/var/lib/transmission" = { };
|
|
};
|
|
Env = [
|
|
"TRANSMISSION_HOME=/etc/transmission"
|
|
"TRANSMISSION_WEB_HOME=/var/www/transmission"
|
|
];
|
|
};
|
|
}
|