eve-psr-nix0/nix/application/containers.nix

160 lines
5.0 KiB
Nix

{ 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 ];
};
};
};
}