]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - systems/eldiron/gemini/default.nix
Add monitoring script with smartctl
[perso/Immae/Config/Nix.git] / systems / eldiron / gemini / default.nix
1 { lib, config, pkgs, ... }:
2 {
3 options.myServices.gemini.enable = lib.mkEnableOption "enable Gemini capsule";
4 config = lib.mkIf config.myServices.gemini.enable {
5 myServices.chatonsProperties.hostings.gemini = {
6 file.datetime = "2022-08-27T18:00:00";
7 hosting = {
8 name = "Hébergement Gemini";
9 description = "Hébergement de capsules Gemini";
10 type = "INSTANCE";
11 website = "gemini://immae.eu";
12 status.level = "OK";
13 status.description = "OK";
14 registration.load = "OPEN";
15 install.type = "PACKAGE";
16 };
17 software = {
18 name = "stargazer";
19 website = "https://git.sr.ht/~zethra/stargazer/";
20 license.url = "https://git.sr.ht/~zethra/stargazer/tree/main/LICENSE";
21 license.name = "GNU AFFERO GENERAL PUBLIC LICENSE Version 3";
22 version = pkgs.stargazer.version;
23 source.url = "https://git.sr.ht/~zethra/stargazer/";
24 };
25 };
26 networking.firewall.allowedTCPPorts = [ 1965 ];
27 security.acme.certs = {
28 "gemini" = {
29 group = "stargazer";
30 domain = "immae.eu";
31 keyType = "rsa4096";
32 postRun = ''
33 cp -a key.pem key_pkcs8.pem
34 sed -i -e "s/ RSA PRIVATE KEY/ PRIVATE KEY/" key_pkcs8.pem
35 systemctl restart stargazer.service
36 '';
37 extraDomainNames = [];
38 };
39 };
40 services.stargazer = {
41 enable = true;
42 ipLog = true;
43 requestTimeout = 0;
44 genCerts = false;
45 regenCerts = false;
46 };
47 };
48 }