nixos-config/config/services/akkoma/mediaproxy.nix

40 lines
1.2 KiB
Nix
Raw Normal View History

2022-11-05 20:26:45 +00:00
{
services.nginx = {
enable = true;
2022-11-19 19:37:00 +00:00
commonHttpConfig = "proxy_cache_path /var/cache/mediacache levels=2:2:2 keys_zone=akkoma_media_cache:25m inactive=1y use_temp_path=off min_free=10G;";
2022-11-05 20:26:45 +00:00
virtualHosts."mail.chir.rs".listen = [
{
addr = "127.0.0.1";
port = 24153;
}
];
virtualHosts."mediaproxy.int.chir.rs" = {
listen = [
{
addr = "127.0.0.1";
port = 24154;
}
];
extraConfig = ''
location ~ ^/(media|proxy) {
proxy_cache akkoma_media_cache;
2022-11-05 21:09:17 +00:00
proxy_cache_key $host$uri$is_args$args;
2022-11-05 20:26:45 +00:00
proxy_http_version 1.1;
proxy_cache_valid 206 301 302 304 1h;
proxy_cache_valid 200 1y;
proxy_cache_use_stale error timeout invalid_header updating;
proxy_ignore_client_abort on;
proxy_buffering on;
2022-11-05 21:12:27 +00:00
proxy_cache_lock on;
2022-11-05 20:26:45 +00:00
proxy_pass http://127.0.0.1:4000;
}
'';
};
};
systemd.tmpfiles.rules = [
"d '/var/cache/mediacache' 0750 nginx nginx - -"
];
2022-11-05 21:15:42 +00:00
systemd.services.nginx.serviceConfig.ReadWritePaths = ["/var/cache/mediacache"];
flake.lock: Update Flake lock file updates: • Updated input 'haskell-flake': 'github:srid/haskell-flake/4fc511d93a55fedf815c1647ad146c26d7a2054e' (2022-11-11) → 'github:srid/haskell-flake/54334cfae9bbb73732bbb1437260017044f68d0b' (2022-12-19) • Updated input 'home-manager': 'github:nix-community/home-manager/37713c6b04b963d41664e03576f73a18c9b0d224' (2022-12-18) → 'github:nix-community/home-manager/e7eba9cc46547ae86642ad3c6a9a4fb22c07bc26' (2022-12-19) • Updated input 'nix-packages': 'github:DarkKirb/nix-packages/6b944ce1d1b4ceca1bc71e3aa060922bd2040856' (2022-12-16) → 'github:DarkKirb/nix-packages/21a1e883fc8855d606601d0736573b36617d789e' (2022-12-20) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/e462a4baf75eeac639b4942481759de08a3bc94e' (2022-12-16) → 'github:NixOS/nixos-hardware/25010a042c23695ae457a97aad60e9b1d49f2ecc' (2022-12-19) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/c4ae266de959fb5a48a210bfc7ee16030a558638' (2022-12-19) → 'github:NixOS/nixpkgs/3014c6792181eba45af6d6e282bb5819044c4367' (2022-12-20) • Updated input 'nur': 'github:nix-community/NUR/9d70eeafc6cc2f97c5b769058d12631d74a994e3' (2022-12-19) → 'github:nix-community/NUR/1c62de16ff1c1f4e10172af163a28a7430fe2d0e' (2022-12-20) • Updated input 'prismmc': 'github:PrismLauncher/PrismLauncher/11c8237d8bddbf1fe371f6bc6c2cbc9f07e66e51' (2022-12-18) → 'github:PrismLauncher/PrismLauncher/8c194cd245c7cf0431a7dfcba1aea5b4eee0304b' (2022-12-19) • Updated input 'prismmc/flake-compat': 'github:edolstra/flake-compat/b4a34015c698c7793d592d66adbab377907a2be8' (2022-04-19) → 'github:edolstra/flake-compat/009399224d5e398d03b22badca40a37ac85412a1' (2022-11-17) • Removed input 'prismmc/tomlplusplus' • Updated input 'sops-nix': 'github:Mic92/sops-nix/da98a111623101c64474a14983d83dad8f09f93d' (2022-12-04) → 'github:Mic92/sops-nix/32840f16ffa0856cdf9503a8658f2dd42bf70342' (2022-12-19)
2022-12-20 08:18:36 +00:00
services.nginx.validateConfig = false;
2022-11-05 20:26:45 +00:00
}