first commit

This commit is contained in:
2026-06-24 07:05:47 +02:00
commit cfff0dedb3
24 changed files with 406 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
{ config, pkgs, ... }:
{
virtualisation = {
oci-containers = {
backend = "docker";
};
docker = {
enable = true;
enableOnBoot = true;
rootless = {
enable = true;
setSocketVariable = true;
};
};
};
imports = [
./gluetun.nix
./qbittorrent.nix
./jdownloader.nix
];
}
+56
View File
@@ -0,0 +1,56 @@
{ config, pkgs, ... }:
let
protonvpnConfig = {
VPN_SERVICE_PROVIDER = "protonvpn";
VPN_PORT_FORWARDING = "on";
VPN_PORT_FORWARDING_PROVIDER="protonvpn";
};
gluetunConfig = {
SHADOWSOCKS = "on";
HTTPPROXY = "on";
HTTPPROXY_STEALTH = "on";
FIREWALL_OUTBOUND_SUBNETS="10.11.0.0/24";
DNS_UPSTREAM_RESOLVERS = "cloudflare";
BLOCK_SURVEILLANCE="on";
BLOCK_ADS="on";
BLOCK_MALICIOUS="on";
};
in
{
virtualisation.oci-containers.containers = {
# protonvpn
pvpn-de-01 = {
autoStart = true;
image = "qmcgaw/gluetun:latest";
capabilities = { NET_ADMIN = true; };
devices = [ "/dev/net/tun:/dev/net/tun" ];
environmentFiles = [
"/etc/secrets/gluetun.env"
];
environment = {
# GLUETUN ENV VARS #
VPN_TYPE="openvpn";
SERVER_COUNTRIES = "Germany";
VPN_INTERFACE="tun0";
} // protonvpnConfig // gluetunConfig;
ports = [
# gluetun
"8000:8000"
"7001:8388/tcp"
"7001:8388/udp"
"8001:8888"
# qbittorrent
"8080:8080"
"6881:6881/tcp"
"6881:6881/udp"
# jdownloader
"5800:5800"
];
};
};
}
+22
View File
@@ -0,0 +1,22 @@
_:
{
virtualisation.oci-containers.containers = {
# qbittorrent
jdownloader = {
autoStart = true;
image = "jlesage/jdownloader-2:latest";
networks = [
"container:pvpn-de-01"
];
environment = {
TZ="Europe/Berlin";
KEEP_APP_RUNNING="1";
DARK_MODE="1";
};
volumes = [
"/srv/docker/jdownloader/config:/config:rw"
"/srv/docker/jdownloader/downloads:/output:rw"
];
};
};
}
+21
View File
@@ -0,0 +1,21 @@
_:
{
virtualisation.oci-containers.containers = {
# qbittorrent
qbittorrent = {
autoStart = true;
image = "qbittorrentofficial/qbittorrent-nox:latest";
networks = [
"container:pvpn-de-01"
];
environment = {
WEBUI_PORT = "8080";
TZ="Europe/Berlin";
};
volumes = [
"/srv/docker/qbittorrent/config:/config"
"/srv/docker/qbittorrent/downloads:/downloads"
];
};
};
}