docker-compose migrated to oci-containers

This commit is contained in:
Danilo Reyes 2023-12-24 13:23:04 -06:00
parent ae5b577fe3
commit cb9d64fd72
2 changed files with 94 additions and 40 deletions

View File

@ -8,18 +8,11 @@
enableNvidia = true;
storageDriver = "btrfs";
};
oci-containers = {
backend = "docker";
containers = {
collabora = {
image = "collabora/code";
# imageFile = pkgs.dockerTools.pullImage {
# imageName = "collabora/code";
# imageDigest =
# "sha256:aab41379baf5652832e9237fcc06a768096a5a7fccc66cf8bd4fdb06d2cbba7f";
# sha256 = "sha256-M66lynhzaOEFnE15Sy1N6lBbGDxwNw6ap+IUJAvoCLs=";
# };
ports = [ "9980:9980" ];
environment = {
domain = "cloud.servidos.lat";
@ -30,19 +23,100 @@
};
extraOptions = [ "--cap-add" "MKNOD" ];
};
# flaresolverr = {
# image = "ghcr.io/flaresolverr/flaresolverr:latest";
# # imageFile = pkgs.dockerTools.pullImage {
# # imageName = "ghcr.io/flaresolverr/flaresolverr:latest";
# # };
# ports = [ "8191:8191" ];
# environment = {
# TZ = "America/Mexico_City";
# LOG_LEVEL = "\${LOG_LEVEL:-info}";
# LOG_HTML = "\${LOG_HTML:-false}";
# CAPTCHA_SOLVER = "\${CAPTCHA_SOLVER:-none}";
# };
# };
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)
];
};
};
};
};

View File

@ -228,26 +228,6 @@ in {
};
systemd = {
services = {
docker-compose = {
enable = true;
restartIfChanged = true;
description = "Start docker-compose servers";
after = [ "docker.service" "docker.socket" ];
requires = [ "docker.service" "docker.socket" ];
wantedBy = [ "default.target" ];
environment = {
FILE = "/home/jawz/Development/Docker/docker-compose.yml";
};
path = [ pkgs.docker-compose ];
serviceConfig = {
Restart = "on-failure";
RestartSec = 30;
ExecStart =
"${pkgs.docker-compose}/bin/docker-compose -f \${FILE} up --remove-orphans";
ExecStop =
"${pkgs.docker-compose}/bin/docker-compose -f \${FILE} down";
};
};
nextcloud-cronjob = let
jawzNextcloudCronjob = pkgs.writeScriptBin "nextcloud-cronjob"
(builtins.readFile ../scripts/nextcloud-cronjob.sh);