feat(hermes-files): partage HTTP LAN des artefacts de l'agent

nginx sur 0.0.0.0:8092, root /var/lib/hermes-files (répertoire dédié : le
stateDir /var/lib/hermes est en 0770, nginx ne peut pas le traverser).
Autoindex, aucune auth : rien de sensible dedans, jamais routé via Pangolin.
This commit is contained in:
Hermes Agent
2026-09-26 18:14:41 -04:00
parent 5c093e06fa
commit 355ed8ee0a
+37
View File
@@ -0,0 +1,37 @@
# services/hermes-files/default.nix
# Partage HTTP en lecture seule des artefacts produits par l'agent hermes
# (APK Hermes Pocket, exports, captures) sur le réseau local uniquement.
#
# hermes écrit dans /var/lib/hermes-files (son stateDir /var/lib/hermes est en
# 0770 : nginx ne peut pas le traverser, d'où un répertoire dédié en 0755).
# nginx le sert sur http://<ip-lan>:8092/ avec autoindex, sans authentification :
# ne rien y déposer de sensible, et ne jamais router ce port via Pangolin.
{...}: let
port = 8092;
root = "/var/lib/hermes-files";
in {
systemd.tmpfiles.rules = [
"d ${root} 0755 hermes hermes -"
];
services.nginx.virtualHosts."hermes-files" = {
# pas de serverName utile : seul vhost sur ce port, donc default_server de fait
listen = [
{
addr = "0.0.0.0";
inherit port;
}
];
inherit root;
locations."/".extraConfig = ''
autoindex on;
# un .apk doit se télécharger, pas s'afficher
types {
application/vnd.android.package-archive apk;
}
default_type application/octet-stream;
'';
};
networking.firewall.allowedTCPPorts = [port];
}