206 lines
6.8 KiB
Nix
206 lines
6.8 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
environment.systemPackages = with pkgs; [ docker-compose ];
|
|
virtualisation = let postgresSocket = "/run/postgresql";
|
|
in {
|
|
docker = {
|
|
enable = true;
|
|
enableNvidia = true;
|
|
autoPrune = {
|
|
enable = true;
|
|
flags = [ "--all" ];
|
|
dates = "weekly";
|
|
};
|
|
};
|
|
oci-containers = {
|
|
backend = "docker";
|
|
containers = {
|
|
collabora = {
|
|
autoStart = true;
|
|
image = "collabora/code";
|
|
imageFile = pkgs.dockerTools.pullImage {
|
|
imageName = "collabora/code";
|
|
imageDigest =
|
|
"sha256:aab41379baf5652832e9237fcc06a768096a5a7fccc66cf8bd4fdb06d2cbba7f";
|
|
sha256 = "sha256-M66lynhzaOEFnE15Sy1N6lBbGDxwNw6ap+IUJAvoCLs=";
|
|
};
|
|
ports = [ "9980:9980" ];
|
|
environment = {
|
|
TZ = "America/Mexico_City";
|
|
domain = "cloud.servidos.lat";
|
|
aliasgroup1 = "cloud.servidos.lat:443";
|
|
aliasgroup2 = "cloud.rotehaare.art:443";
|
|
dictionaries = "en_CA en_US es_MX es_ES fr_FR it pt_BR ru";
|
|
extra_params = ''
|
|
--o:ssl.enable=false
|
|
--o:ssl.termination=true
|
|
'';
|
|
};
|
|
extraOptions = [ "--cap-add" "MKNOD" ];
|
|
};
|
|
ryot = {
|
|
image = "ghcr.io/ignisda/ryot:latest";
|
|
environment = {
|
|
TZ = "America/Mexico_City";
|
|
DATABASE_URL = "postgres:///ryot?host=${postgresSocket}";
|
|
};
|
|
ports = [ "8765:8000" ];
|
|
volumes = [ "${postgresSocket}:${postgresSocket}" ];
|
|
labels = {
|
|
"flame.type" = "application";
|
|
"flame.name" = "Ryot";
|
|
"flame.url" = "tracker.servidos.lat";
|
|
"flame.icon" = "radar";
|
|
};
|
|
};
|
|
multi-scrobbler = {
|
|
image = "foxxmd/multi-scrobbler";
|
|
ports = [ "9078:9078" ];
|
|
environment = {
|
|
TZ = "America/Mexico_City";
|
|
PUID = "1000";
|
|
PGID = "100";
|
|
BASE_URL = "https://scrobble.servidos.lat";
|
|
JELLYFIN_USER = "jawz";
|
|
JELLYFIN_SERVER = "DaniloFlix";
|
|
DEEZER_CLIENT_ID = "657431";
|
|
DEEZER_CLIENT_SECRET = "cb2ad03682dd5a55dfef857388ef181e";
|
|
DEEZER_REDIRECT_URI = "http://192.168.1.69:9078/deezer/callback";
|
|
MALOJA_URL = "https://maloja.servidos.lat";
|
|
MALOJA_API_KEY =
|
|
"LsnY2Ed484JlzUmF6EwhpGJ0gUCjJ2G5s1oJTwALJN8w1N3K6eXpfjBQp3raNPLA";
|
|
WS_ENABLE = "true";
|
|
};
|
|
volumes = [ "/var/lib/docker-configs/multi-scrobbler:/config" ];
|
|
labels = {
|
|
"flame.type" = "application";
|
|
"flame.name" = "Multi-scrobbler";
|
|
"flame.url" = "scrobble.servidos.lat";
|
|
"flame.icon" = "broadcast";
|
|
};
|
|
};
|
|
maloja = {
|
|
image = "krateng/maloja";
|
|
ports = [ "42010:42010" ];
|
|
environment = {
|
|
TZ = "America/Mexico_City";
|
|
PUID = "1000";
|
|
PGID = "100";
|
|
MALOJA_DATA_DIRECTORY = "/mljdata";
|
|
MALOJA_SKIP_SETUP = "true";
|
|
MALOJA_FORCE_PASSWORD = "chichis";
|
|
};
|
|
volumes = [ "/var/lib/docker-configs/maloja:/mljdata" ];
|
|
labels = {
|
|
"flame.type" = "application";
|
|
"flame.name" = "Maloja";
|
|
"flame.url" = "maloja.servidos.lat";
|
|
"flame.icon" = "bookmark-music";
|
|
};
|
|
};
|
|
flaresolverr = {
|
|
autoStart = true;
|
|
image = "ghcr.io/flaresolverr/flaresolverr:latest";
|
|
ports = [ "8191:8191" ];
|
|
};
|
|
flame = {
|
|
autoStart = true;
|
|
image = "pawelmalak/flame";
|
|
ports = [ "5005:5005" ];
|
|
volumes = [
|
|
"/var/lib/docker-configs/flame:/app/data"
|
|
"/var/run/docker.sock:/var/run/docker.sock"
|
|
];
|
|
environment = {
|
|
TZ = "America/Mexico_City";
|
|
PUID = "1000";
|
|
PGID = "100";
|
|
PASSWORD = "RkawpqMc8lR56QyU7JSfiLhG";
|
|
};
|
|
};
|
|
flame-nsfw = {
|
|
autoStart = true;
|
|
image = "pawelmalak/flame";
|
|
ports = [ "5007:5005" ];
|
|
volumes = [ "/var/lib/docker-configs/flame-nsfw:/app/data" ];
|
|
environment = {
|
|
TZ = "America/Mexico_City";
|
|
PUID = "1000";
|
|
PGID = "100";
|
|
PASSWORD = "RkawpqMc8lR56QyU7JSfiLhG";
|
|
};
|
|
};
|
|
lidarr = {
|
|
autoStart = true;
|
|
image = "lscr.io/linuxserver/lidarr:latest";
|
|
user = "1000:100";
|
|
ports = [ "8686:8686" ];
|
|
environment = {
|
|
TZ = "America/Mexico_City";
|
|
PUID = "1000";
|
|
PGID = "100";
|
|
};
|
|
volumes = [
|
|
"/mnt/pool/multimedia:/data"
|
|
"/mnt/pool/multimedia/media/Music:/music"
|
|
"/mnt/pool/multimedia/media/MusicVideos:/music-videos"
|
|
"/var/lib/docker-configs/lidarr/files:/config"
|
|
"/var/lib/docker-configs/lidarr/custom-services.d:/custom-services.d"
|
|
"/var/lib/docker-configs/lidarr/custom-cont-init.d:/custom-cont-init.d"
|
|
];
|
|
labels = {
|
|
"flame.type" = "application";
|
|
"flame.name" = "Lidarr";
|
|
"flame.url" = "music.servidos.lat";
|
|
"flame.icon" = "music";
|
|
};
|
|
};
|
|
mealie = {
|
|
autoStart = true;
|
|
image = "ghcr.io/mealie-recipes/mealie:v1.0.0-RC2";
|
|
user = "1000:100";
|
|
ports = [ "9925:9000" ];
|
|
volumes = [ "/var/lib/docker-configs/mealie:/app/data/" ];
|
|
environment = {
|
|
TZ = "America/Mexico_City";
|
|
ALLOW_SIGNUP = "true";
|
|
PUID = "1000";
|
|
PGID = "100";
|
|
MAX_WORKERS = "1";
|
|
WEB_CONCURRENCY = "1";
|
|
BASE_URL = "https://mealie.servidos.lat";
|
|
SMTP_HOST = "smtp.gmail.com";
|
|
SMTP_PORT = "587";
|
|
SMTP_FROM_EMAIL = "stunner6399@gmail.com";
|
|
SMTP_USER = "stunner6399@gmail.com";
|
|
SMTP_PASSWORD = "ywofhisexfawslob";
|
|
};
|
|
extraOptions = [
|
|
"--memory=1g" # VA-API (omit for NVENC)
|
|
];
|
|
labels = {
|
|
"flame.type" = "application";
|
|
"flame.name" = "Mealie";
|
|
"flame.url" = "mealie.servidos.lat";
|
|
"flame.icon" = "fridge";
|
|
};
|
|
};
|
|
go-vod = {
|
|
autoStart = true;
|
|
image = "radialapps/go-vod";
|
|
environment = {
|
|
TZ = "America/Mexico_City";
|
|
NEXTCLOUD_HOST = "https://${config.services.nextcloud.hostName}";
|
|
NVIDIA_VISIBLE_DEVICES = "all";
|
|
};
|
|
volumes = [ "ncdata:/var/www/html:ro" ];
|
|
extraOptions = [
|
|
"--device=/dev/dri" # VA-API (omit for NVENC)
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|