{ 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 ]; }; gitea = { image = "docker.io/gitea/gitea:1.23.0-rc0-rootless"; volumes = [ "/home/sezycei/srv/containerdata/gitea/data:/var/lib/gitea" "/home/sezycei/srv/containerdata/gitea/config:/etc/gitea" ]; ports = [ "8027:3000" "23231:2222"]; environment = { GITEA_APP_INI = "/etc/gitea/app.ini"; GITEA_CUSTOM = "/var/lib/gitea/custom"; GITEA_TEMP = "/tmp/gitea"; GITEA_WORK_DIR = "/var/lib/gitea"; HOME = "/var/lib/gitea/git"; TMPDIR = "/tmp/gitea"; USER_GID = "1000"; USER_UID = "1000"; }; }; gitea-runner = { image = "docker.io/gitea/act_runner:latest"; volumes = [ "/home/sezycei/srv/containerdata/gitea/runner/config.yaml:/config.yaml" "/home/sezycei/srv/containerdata/gitea/runner/data:/data" "/run/podman/podman.sock:/var/run/docker.sock" ]; environment = { CONFIG_FILE = "/config.yaml"; GITEA_INSTANCE_URL = "https://git.eversole.co"; GITEA_RUNNER_REGISTRATION_TOKEN = "Rxl7OYPb4ysOmDZB3jnmzm7hJtQQYeaKHdn4jrbR"; GITEA_RUNNER_NAME = "nix0-primary"; }; }; 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"; }; }; 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 ]; }; }; }; }