2023-02-13 18:44:04 +00:00
|
|
|
{ config, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
virtualisation.arion.projects.nitter.settings = {
|
|
|
|
services = {
|
|
|
|
nitter = {
|
|
|
|
service = {
|
|
|
|
image = "zedeus/nitter:latest";
|
|
|
|
container_name = "nitter";
|
|
|
|
restart = "unless-stopped";
|
|
|
|
ports = [ "127.0.0.1:8001:8080" ];
|
|
|
|
environment = {
|
|
|
|
"TZ" = "Europe/Berlin";
|
|
|
|
};
|
|
|
|
volumes = [
|
|
|
|
"${config.age.secrets.nitter-config.path}:/src/nitter.conf:ro"
|
|
|
|
];
|
|
|
|
labels = {
|
|
|
|
"com.centurylinklabs.watchtower.enable" = "true";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-02-13 19:04:45 +00:00
|
|
|
|
|
|
|
services.nginx = {
|
|
|
|
enable = true;
|
|
|
|
virtualHosts."nitter.only.internal" = {
|
|
|
|
listen = [
|
|
|
|
{
|
|
|
|
addr = "127.0.0.1";
|
|
|
|
port = 80;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
forceSSL = false;
|
|
|
|
enableACME = false;
|
|
|
|
|
|
|
|
locations."/" = {
|
2023-02-13 20:39:00 +00:00
|
|
|
basicAuthFile = config.age.secrets.nitter-auth.path;
|
|
|
|
|
|
|
|
recommendedProxySettings = true;
|
|
|
|
proxyPass = "http://127.0.0.1:8001";
|
|
|
|
};
|
|
|
|
|
|
|
|
locations."/pic/" = {
|
|
|
|
recommendedProxySettings = true;
|
|
|
|
proxyPass = "http://127.0.0.1:8001";
|
|
|
|
};
|
|
|
|
|
|
|
|
locations."/video/" = {
|
2023-02-13 19:04:45 +00:00
|
|
|
recommendedProxySettings = true;
|
|
|
|
proxyPass = "http://127.0.0.1:8001";
|
|
|
|
};
|
2023-02-13 20:47:25 +00:00
|
|
|
|
2023-02-13 20:52:49 +00:00
|
|
|
locations."/apple-touch-icon.png" = {
|
2023-02-13 20:47:25 +00:00
|
|
|
recommendedProxySettings = true;
|
|
|
|
proxyPass = "http://127.0.0.1:8001";
|
|
|
|
};
|
2023-02-13 19:04:45 +00:00
|
|
|
};
|
|
|
|
};
|
2023-02-13 18:44:04 +00:00
|
|
|
}
|