Configure fedifetcher for mastodon
This commit is contained in:
parent
5e2d516a4c
commit
1b39b6128d
23
config/hosts/mastodon/containers/fedifetcher/default.nix
Normal file
23
config/hosts/mastodon/containers/fedifetcher/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{ nixpkgs-unstable, ... }:
|
||||||
|
{
|
||||||
|
containers.fedifetcher = {
|
||||||
|
nixpkgs = nixpkgs-unstable;
|
||||||
|
autoStart = true;
|
||||||
|
|
||||||
|
bindMounts = {
|
||||||
|
"/secrets" = {
|
||||||
|
hostPath = "/secrets-fedifetcher";
|
||||||
|
isReadOnly = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = { ... }: {
|
||||||
|
imports = [
|
||||||
|
./fedifetcher.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.useHostResolvConf = true;
|
||||||
|
system.stateVersion = "24.05";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
42
config/hosts/mastodon/containers/fedifetcher/fedifetcher.nix
Normal file
42
config/hosts/mastodon/containers/fedifetcher/fedifetcher.nix
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
# config copied from https://github.com/arachnist/nibylandia/blob/main/nixos/zorigami/default.nix
|
||||||
|
systemd.services.fedifetcher = {
|
||||||
|
path = [ pkgs.fedifetcher ];
|
||||||
|
description = "fetch fedi posts";
|
||||||
|
script = ''
|
||||||
|
fedifetcher
|
||||||
|
'';
|
||||||
|
environment = lib.mapAttrs' (n: v:
|
||||||
|
(lib.nameValuePair ("ff_" + builtins.replaceStrings [ "-" ] [ "_" ] n)
|
||||||
|
(builtins.toString v))) {
|
||||||
|
server = "social.nekover.se";
|
||||||
|
state-dir = "/var/lib/fedifetcher";
|
||||||
|
lock-file = "/run/fedifetcher/fedifetcher.lock";
|
||||||
|
from-lists = 1;
|
||||||
|
from-notifications = 1;
|
||||||
|
max-bookmarks = 80;
|
||||||
|
max-favourites = 40;
|
||||||
|
max-follow-requests = 80;
|
||||||
|
max-followers = 80;
|
||||||
|
max-followings = 80;
|
||||||
|
remember-hosts-for-days = 30;
|
||||||
|
remember-users-for-hours = 168;
|
||||||
|
reply-interval-in-hours = 2;
|
||||||
|
};
|
||||||
|
serviceConfig = {
|
||||||
|
DynamicUser = true;
|
||||||
|
User = "fedifetcher";
|
||||||
|
RuntimeDirectory = "fedifetcher";
|
||||||
|
RuntimeDirectoryPreserve = true;
|
||||||
|
StateDirectory = "fedifetcher";
|
||||||
|
UMask = "0077";
|
||||||
|
EnvironmentFile = [ "/secrets/mastodon-fedifetcher-access-token.secret" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.timers.fedifetcher = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
timerConfig = { OnCalendar = "*:0/5"; };
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,5 +5,6 @@
|
||||||
./mastodon.nix
|
./mastodon.nix
|
||||||
./opensearch.nix
|
./opensearch.nix
|
||||||
./nginx.nix
|
./nginx.nix
|
||||||
|
./containers/fedifetcher
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,5 +65,13 @@
|
||||||
permissions = "0640";
|
permissions = "0640";
|
||||||
uploadAt = "pre-activation";
|
uploadAt = "pre-activation";
|
||||||
};
|
};
|
||||||
|
"mastodon-fedifetcher-access-token.secret" = {
|
||||||
|
keyCommand = keyCommandEnv ++ [ "pass" "mastodon/fedifetcher-access-token" ];
|
||||||
|
destDir = "/secrets-fedifetcher";
|
||||||
|
user = "root";
|
||||||
|
group = "root";
|
||||||
|
permissions = "0640";
|
||||||
|
uploadAt = "pre-activation";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue