nix/modules/moviefeed.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
{ pkgs, ... }:
let
configFile = "/home/q/moviedfeed.yml";
version = "2bda86db";
moviefeed = pkgs.buildGoModule {
pname = "moviefeed";
inherit version;
vendorHash = "sha256-FWkYhhX/cZhF+ctgbYPhPRYcQZSLIL3zoaxqrbWZCcU=";
src = pkgs.fetchFromGitHub {
owner = "olexsmir";
repo = "moviefeed";
rev = version;
hash = "sha256-g05iqKH3g6Q536AF3Xb2zYx3jiLXybaavM7UB9Hu5Dg=";
};
};
in
{
services.caddy.virtualHosts."moviefeed.olexsmir.xyz".extraConfig = ''
reverse_proxy localhost:8000
'';
systemd.services.moviefeed = {
description = "moviefeed API server";
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
serviceConfig = {
Type = "simple";
User = "q";
Restart = "on-failure";
RestartSec = 2;
ExecStart = "${moviefeed}/bin/moviefeed --config ${configFile}";
NoNewPrivileges = true;
ProtectSystem = "strict";
ReadOnlyPaths = [ configFile ];
};
};
}
|