Compare commits
3 Commits
031bd72e17
...
8612c79420
Author | SHA1 | Date | |
---|---|---|---|
8612c79420 | |||
01c0f82209 | |||
bb07c9d88a |
@ -27,7 +27,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
gptfdisk
|
||||||
htop
|
htop
|
||||||
|
parted
|
||||||
tmux
|
tmux
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -1,6 +1,50 @@
|
|||||||
{ pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
mixcloudSources = {
|
||||||
|
avocadoom = "https://www.mixcloud.com/avocadoom/";
|
||||||
|
b4m = "https://www.mixcloud.com/b4m/";
|
||||||
|
barbnerdy = "https://soundcloud.com/barbnerdy";
|
||||||
|
beh2342 = "https://soundcloud.com/beh2342";
|
||||||
|
couchsofa = "https://www.mixcloud.com/couchsofa/";
|
||||||
|
das-kraftfuttermischwerk = "https://soundcloud.com/das-kraftfuttermischwerk";
|
||||||
|
dj-spock = "https://www.mixcloud.com/dj_spock/";
|
||||||
|
LoungeControl = "https://www.mixcloud.com/LoungeControl/";
|
||||||
|
matthiasdamasty = "https://www.mixcloud.com/matthiasdamasty/";
|
||||||
|
sh1bumi = "https://soundcloud.com/sh1bumi";
|
||||||
|
shroombab = "https://www.mixcloud.com/shroombab/";
|
||||||
|
tasmo = "https://www.mixcloud.com/tasmo/";
|
||||||
|
vidister = "https://mixcloud.com/vidister/";
|
||||||
|
};
|
||||||
|
|
||||||
|
generateYoutubedlMixcloudUnits = source: url: (
|
||||||
|
nameValuePair "youtube-dl-mixcloud-${source}" {
|
||||||
|
serviceConfig = {
|
||||||
|
User = "data-mixcloud";
|
||||||
|
Group = "data-mixcloud";
|
||||||
|
Restart="on-failure";
|
||||||
|
};
|
||||||
|
path = [ pkgs.youtube-dl ];
|
||||||
|
script = ''
|
||||||
|
mkdir -p /data/mixcloud/${source}/
|
||||||
|
cd /data/mixcloud/${source}/
|
||||||
|
youtube-dl --ignore-errors --playlist-random --newline ${url}
|
||||||
|
'';
|
||||||
|
startAt = "*-*-* 05:05:00";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
generateYoutubedlMixcloudTimers = source: url: (
|
||||||
|
nameValuePair "youtube-dl-mixcloud-${source}" {
|
||||||
|
timerConfig = {
|
||||||
|
RandomizedDelaySec = 10800;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
in {
|
||||||
services.nginx.virtualHosts = {
|
services.nginx.virtualHosts = {
|
||||||
"mixcloud.clerie.de" = {
|
"mixcloud.clerie.de" = {
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
@ -10,6 +54,7 @@
|
|||||||
basicAuthFile = "/var/src/secrets/nginx/mixcloud.htpasswd";
|
basicAuthFile = "/var/src/secrets/nginx/mixcloud.htpasswd";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
autoindex on;
|
autoindex on;
|
||||||
|
autoindex_exact_size off;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -23,18 +68,6 @@
|
|||||||
};
|
};
|
||||||
users.groups.data-mixcloud = {};
|
users.groups.data-mixcloud = {};
|
||||||
|
|
||||||
systemd.services."youtube-dl-mixcloud-couchsofa" = {
|
systemd.services = (mapAttrs' generateYoutubedlMixcloudUnits mixcloudSources);
|
||||||
serviceConfig = {
|
systemd.timers = (mapAttrs' generateYoutubedlMixcloudTimers mixcloudSources);
|
||||||
User = "data-mixcloud";
|
|
||||||
Group = "data-mixcloud";
|
|
||||||
Restart="on-failure";
|
|
||||||
};
|
|
||||||
path = [ pkgs.youtube-dl ];
|
|
||||||
script = ''
|
|
||||||
mkdir -p /data/mixcloud/couchsofa/
|
|
||||||
cd /data/mixcloud/couchsofa/
|
|
||||||
youtube-dl --ignore-errors --playlist-random --newline https://www.mixcloud.com/couchsofa/
|
|
||||||
'';
|
|
||||||
startAt = "*-*-* 05:05:00";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user