{ config, lib, pkgs, ... }: { virtualisation.oci-containers = { containers = { atuin = { image = "ghcr.io/atuinsh/atuin:latest"; ports = [ "8888:8888" ]; cmd = [ "server" "start" ]; volumes = [ "/home/sezycei/srv/containerdata/atuin/config:/config" ]; environmentFiles = [ config.age.secrets.atuin-env.path ]; }; atuin-sql = { image = "postgres:14"; volumes = [ "/home/sezycei/srv/containerdata/atuin/database:/var/lib/postgresql/data/" ]; ports = [ "9123:5432" ]; environmentFiles = [ config.age.secrets.atuin-env.path ]; }; jellyfin = { image = "linuxserver/jellyfin:latest"; ports = [ "8096:8096" "8920:8920" ]; volumes = [ "/home/sezycei/srv/containerdata/jellyfin/config:/config" "/home/torrent/data/completed:/data/unsorted" "/home/torrent/data/TV:/data/tvshows" "/home/torrent/data/Movies:/data/movies" "/home/torrent/data/transcode:/data/transcode" "/home/torrent/data/Music:/data/music" ]; environment = { PGID = "1000"; PUID = "1000"; TZ = "America/Chicago"; UMASK_SET = "022"; }; }; murmur = { image = "goofball222/murmur"; ports = [ "64738:64738" "64738:64738/udp" ]; volumes = [ "/home/sezycei/srv/containerdata/murmur/murmur/config:/opt/murmur/config" "/home/sezycei/srv/containerdata/murmur/murmur/data:/opt/murmur/data" "/home/sezycei/srv/containerdata/murmur/murmur/log:/opt/murmur/log" ]; environment = { }; }; purr = { image = "docker.matri.cx/purr:latest"; ports = [ "5195:3000" ]; volumes = [ "/home/sezycei/srv/containerdata/purr/data:/app/data" ]; environment = { ENVIRONMENT = "production"; APPLICATIONHOST = "localhost"; APPLICATIONPORT = "3000"; DATADIR = "/app/"; LINKLENGTH = "24"; ADMINEMAIL = "james@eversole.co"; PURRNOFILE = "true"; }; }; registry = { image = "registry:2.8.3"; ports = [ "3001:5000" ]; volumes = [ "/home/sezycei/srv/containerdata/registry/data:/var/lib/registry" "/home/sezycei/srv/containerdata/registry/certs:/certs" "/home/sezycei/srv/containerdata/registry/auth:/auth" ]; environment = { }; }; sampu = { image = "docker.matri.cx/sampu:latest"; ports = [ "5196:3000" ]; volumes = [ "/home/sezycei/srv/containerdata/sampu/data:/app/data" ]; environment = { SAMPU_PORT = "3000"; SAMPU_TITLE = "James Eversole"; SAMPU_BASEURL = "https://eversole.co"; }; }; softserve = { image = "charmcli/soft-serve:v0.8.1"; ports = [ "23231:23231" "23232:23232" "23233:23233" "9418:9418" ]; volumes = [ "/home/sezycei/srv/containerdata/soft-serve/data:/soft-serve" ]; environment = { SOFT_SERVE_NAME = "git.eversole.co"; SOFT_SERVE_HTTP_PUBLIC_URL = "git.eversole.co"; SOFT_SERVE_GIT_MAX_CONNECTIONS = "10"; SOFT_SERVE_INITIAL_ADMIN_KEYS = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCzsewMuoEbC0DwwNK23ZJb/ncpNtUuEgZNI2EdAsc7RnhIOhQBxj237qNMhh2mF/8hkASJZ2e4wrmNkjBM7aaz8mrcDY9rG23JMfnGiP4cU6dBC/NqHOuJypt6X28FI5I+dgw2T40sdIbkWAXOr5u5EAJcO6ROdas4zYSPHwl95s3txoGtQrQtgLHgddWMCr53n5KMwFUmqwM1ovVPZplZGaGG5m6VwBkjA0GZQPVFC+RIg6kIp9vUlsAlzPrlDqhTR32jazvaONNBsyUTuE+CJjitU4xoBs67jIFTcesMiFdThKt2HTq1AhXqiUgIfKaDvHfjzWLT8GihxDLpTBxS8G1qWlvkSja09nB/Pn1Y6XqgczM/y51OloowbvuskDZleFoapSYmJdq+rqSCoJ3JCykNGOcpdSBCucnDgR6CHEUPkJJoR0iCrK0ACEIxWhFuSterh/P8gxcH3e2PdcgxO8SfSBagdizOnDsWOw1SR8w6wVOLRrczMyx3hDXoabs= james@eversole.co"; }; }; transmission = { image = "haugene/transmission-openvpn:5.3.1"; ports = [ "9091:9091" ]; volumes = [ "/home/sezycei/srv/scripts/transmission/settings.json:/etc/transmission-daemon/settings.json" "/etc/localtime:/etc/localtime:ro" "/home/torrent/data:/data" "/home/sezycei/srv/scripts/transmission/custom-data:/etc/openvpn/custom" ]; environmentFiles = [ config.age.secrets.transmission-env.path ]; extraOptions = [ "--cap-add=NET_ADMIN" "--privileged" ]; }; vaultwarden = { image = "vaultwarden/server:1.32.7"; ports = [ "40080:80" ]; volumes = [ "/home/sezycei/srv/containerdata/bitwarden/data:/data" ]; environmentFiles = [ config.age.secrets.bitwarden-env.path ]; }; }; }; }