{ config, lib, pkgs, ... }: { environment.systemPackages = with pkgs; [ arion docker-compose ]; virtualisation = { docker = { enable = true; enableNvidia = true; storageDriver = "btrfs"; }; oci-containers = { backend = "docker"; containers = { collabora = { image = "collabora/code"; ports = [ "9980:9980" ]; environment = { domain = "cloud.servidos.lat"; username = "jawz"; password = "chichis"; 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" ]; }; flaresolverr = { image = "ghcr.io/flaresolverr/flaresolverr:latest"; ports = [ "8191:8191" ]; }; flame = { image = "pawelmalak/flame"; ports = [ "5005:5005" ]; volumes = [ "/var/lib/docker-configs/flame:/app/data" "/var/run/docker.sock:/var/run/docker.sock" ]; environment = { PUID = "1000"; PGID = "100"; TZ = "America/Mexico_City"; PASSWORD = "RkawpqMc8lR56QyU7JSfiLhG"; }; }; flame-nsfw = { image = "pawelmalak/flame"; ports = [ "5007:5005" ]; volumes = [ "/var/lib/docker-configs/flame-nsfw:/app/data" "/var/run/docker.sock:/var/run/docker.sock" ]; environment = { PUID = "1000"; PGID = "100"; TZ = "America/Mexico_City"; PASSWORD = "RkawpqMc8lR56QyU7JSfiLhG"; }; }; lidarr = { 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 = { image = "ghcr.io/mealie-recipes/mealie:v1.0.0-RC2"; ports = [ "9925:9000" ]; volumes = [ "/var/lib/docker-configs/mealie:/app/data/" ]; environment = { ALLOW_SIGNUP = "true"; PUID = "1000"; PGID = "100"; TZ = "America/Mexico_City"; 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 = { image = "radialapps/go-vod"; environment = { 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) ]; }; }; }; }; }