229 lines
7.9 KiB
Nix
229 lines
7.9 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
environment.systemPackages = with pkgs; [ docker-compose ];
|
|
virtualisation = let postgresSocket = "/run/postgresql";
|
|
in {
|
|
docker = {
|
|
enable = true;
|
|
enableNvidia = true;
|
|
# dockerCompat = true;
|
|
# defaultNetwork.settings.dns_enabled = 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" ];
|
|
# };
|
|
# metube = {
|
|
# image = "ghcr.io/alexta69/metube";
|
|
# ports = [ "8881:8081" ];
|
|
# volumes = [
|
|
# "/var/lib/docker-configs/metube:/downloads"
|
|
# "/home/jawz/.local/share/cookies.txt:/cookies.txt"
|
|
# ];
|
|
# environment = {
|
|
# TZ = "America/Mexico_City";
|
|
# YTDL_OPTIONS = ''{"cookiefile":"/cookies.txt"}'';
|
|
# };
|
|
# };
|
|
vocechat = {
|
|
image = "privoce/vocechat-server:latest";
|
|
ports = [ "3001:3000" ];
|
|
volumes =
|
|
[ "/var/lib/docker-configs/vocechat:/home/vocechat-server/data" ];
|
|
environment = { TZ = "America/Mexico_City"; };
|
|
};
|
|
ryot = {
|
|
image = "ghcr.io/ignisda/ryot:latest";
|
|
ports = [ "8765:8000" ];
|
|
environment = {
|
|
TZ = "America/Mexico_City";
|
|
DATABASE_URL = "postgres:///ryot?host=${postgresSocket}";
|
|
SERVER_INSECURE_COOKIE = "true";
|
|
VIDEO_GAMES_TWITCH_CLIENT_ID = "tfu0hw0zbdbu4lco4h72nqkb8krxp9";
|
|
VIDEO_GAMES_TWITCH_CLIENT_SECRET = "582ecfb01ihv6wnt8zbc9pf3hs9p54";
|
|
};
|
|
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";
|
|
MALOJA_TIMEZONE = "-6";
|
|
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";
|
|
# 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";
|
|
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)
|
|
# ];
|
|
# };
|
|
};
|
|
};
|
|
};
|
|
}
|