🏡 my personal home lab
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

add rustical

+41 -2
+1
hosts/cm4-node-2.nix
··· 5 5 ../modules/common.nix 6 6 ../modules/mumble.nix 7 7 ../modules/tasks-md.nix 8 + ../modules/rustical.nix 8 9 ]; 9 10 10 11 system.stateVersion = "23.11";
+3
modules/caddy.nix
··· 109 109 reverse_proxy cm4-node-2:8080 110 110 } 111 111 ''; 112 + "cal.goo.garden".extraConfig = '' 113 + reverse_proxy cm4-node-2:4000 114 + ''; 112 115 "home.goo.garden".extraConfig = '' 113 116 reverse_proxy rk1-node-2:8123 114 117 '';
+33
modules/rustical.nix
··· 1 + { config, ... }: 2 + { 3 + virtualisation.oci-containers = { 4 + backend = "podman"; 5 + containers.rustical = { 6 + image = "ghcr.io/lennart-k/rustical:latest"; 7 + ports = [ "4000:4000" ]; 8 + volumes = [ 9 + "/var/lib/rustical:/var/lib/rustical" 10 + "${config.sops.templates."rustical.toml".path}:/etc/rustical/config.toml:ro" 11 + ]; 12 + }; 13 + }; 14 + 15 + sops.templates."rustical.toml".content = '' 16 + [data_store.sqlite] 17 + db_url = "sqlite:///var/lib/rustical/db.sqlite?mode=rwc" 18 + 19 + [oidc] 20 + name = "gooID" 21 + issuer = "https://id.goo.garden" 22 + client_id = "${config.sops.placeholder.rustical-oidc-client-id}" 23 + client_secret = "${config.sops.placeholder.rustical-oidc-client-secret}" 24 + claim_userid = "preferred_username" 25 + scopes = ["openid", "profile"] 26 + allow_sign_up = true 27 + ''; 28 + 29 + sops.secrets.rustical-oidc-client-id = { }; 30 + sops.secrets.rustical-oidc-client-secret = { }; 31 + 32 + networking.firewall.allowedTCPPorts = [ 4000 ]; 33 + }
+4 -2
secrets/secrets.yaml
··· 15 15 zigbee2mqtt-mosquitto-password-hashed: ENC[AES256_GCM,data:/jaOxL6CuAY6gyAD1sgb5Vp+jDAPkUbie2YcknEVMvIGR0di7RgVPhgUctzzyF9sicxZrid3b9iwWe9Q1c77GU45eKUtQfrWfqUnIf434g5bhuRJxsCzQ+u0SuyLbsQOUzTRZR/uCIovGY64suPYTQ==,iv:P0mmkdmnR66l9a748qsLIZaChsSbxzICTN+TJwOy5xw=,tag:rZtfK8eSrdFnb6yAfNfwHA==,type:str] 16 16 tasks-oidc-client-id: ENC[AES256_GCM,data:J0qy+sxD2d9Cfoi2PCoFARj4es42FJf08sve8VJzQKQCCLCa,iv:fmhUF8tFATwfrqE8Uj0AbrJgy/j6G0k6iB/lOt4eXGE=,tag:mlIO0sn8oVBVfTEHkghNAg==,type:str] 17 17 tasks-oidc-client-secret: ENC[AES256_GCM,data:uX/G+TdE2nAeQ5jbd6YUkdwigxxJMVQODlpgL330hhk=,iv:72sKHzrij9BOSYfh9TEHxS899CulH6pNzTmCMegZEac=,tag:fa5r9UV7clsbXxpC/AfTIg==,type:str] 18 + rustical-oidc-client-id: ENC[AES256_GCM,data:dDA1SCH1/rOHqPNvoXX6GFRVE4zXhmq4EES2OnP0i6NK1WAI,iv:aZquya/FnGm3zXbvyxVvUfYRYN5yPvYtagfVYy4n1RU=,tag:w+usKIfoFqxacpIzFbMGpA==,type:str] 19 + rustical-oidc-client-secret: ENC[AES256_GCM,data:savr1jjsi+cO6Rotx3zydTVl5qMiieOJ1Ue3+/IFBRQ=,iv:d3h/fuIfA2w3gnT0pCVSixaR1PbvfwwX/Pb3u+sDodc=,tag:YZgogP9Howbt2P7MVThegQ==,type:str] 18 20 backup-repository: ENC[AES256_GCM,data:v6tUjTwVsym8i52jcapjSRXPIjX2xNFY+bZRkHnVsp4AebcksHzHEDX6N4BF3OuQ2KepOfHngMn61Mk=,iv:HPV+8aCPpvFnytja6RUA7hJdtz2BMI1zsH01w1J9r2w=,tag:znMIFmrcsKTIq2TowhAV0w==,type:str] 19 21 backup-identity: ENC[AES256_GCM,data:8TJP7vSWJAj56AcczQhMRoQqahxM4EGzPm+wk1apMD+L3pybXh/4LPp0DNcGugOb3RPTyjki6jZArDgiirS+ltbldaNQPZaZ4cFrtiJVt8D/iQlsgM9tR8oC7bcR4KV+UoVeeXJN0fWqy5U+IzJ87ZRKKyb9i8WKhPuWFIftb4KqZRyada7jhl/SzwuoIcw9BagMJPLv6BaUmNp1j5fOHvo7RseImiIqsbVo37NTqMMQf7PKM5gsMU6bbeAMjtdeC2RNVG21eop8JlO5uYVyjGxyl5wfU+PwMSRc+XNpgeVEv9mjdo6dkG3QC2poHZ77ot4py6HzQPUZjwLyFsr0ccC4e6e0PNOBtTPtku/LnXHsV45LB9Q3X7t9VSYCTtlJul2W8huZuCRnv7crvIUW21ZMTWiwMbqNEqDUJTBcPLDi42Ea4CvA+I6ODJP8n5g7GTHW0ggy6FtjVXH5DzhzJJULQ27kq97EWi43bSRv0N+N5C1viM+j+hs6tM5eQ15niRVB,iv:YpRoGlD8YFxZ+RChb6T4Eh665AMTTeTJXRFR0xa7l3k=,tag:FWOVonF+SYbbgQoopa2lhA==,type:str] 20 22 sops: ··· 64 66 ajA5bDZCY1BnblVYRGQ1QTE2S2I4M2cKSIGmFBP6sqiiM+cvTMQuZHit9fN5Vffk 65 67 1pWz8xSen/tqoywqipRf3LqzFb2K7Bx15vwazHbm6LJJa+ZQaruVMg== 66 68 -----END AGE ENCRYPTED FILE----- 67 - lastmodified: "2026-03-25T00:05:05Z" 68 - mac: ENC[AES256_GCM,data:b0cSfykJxWsjkwQLTGcrV7fdHDzZurAbDO/zodZRQ3quqnEN1bbJHpzbZHzgu3RSoI8Ei+zYlLwKKz0eLMYG7Glpv1oUafveGAbTvZeDdVZPjqoD3pr0doIkxHVX+wGBo0J6MDI6BTPQTjcb/7RHyhO40DVIfHA1UnXJFrxQKfo=,iv:iXNeUS0STaihxgVpJpHsiR4Hkgn6q40RKtqh6mjriO8=,tag:YUjbTy1pUjg8k2djcIKG8A==,type:str] 69 + lastmodified: "2026-03-25T10:02:53Z" 70 + mac: ENC[AES256_GCM,data:batDKpB04krYBjyVMCzff5DbcLmSHaBI7qWnawfXNUn+IEZBAc5kPgyTBAgVvD8SxBm9D+I67fSUcRa/JD3Vug2ARIEHLLi7sBBHwRGAlhGzUWzFcJnLfI7PSydimYDfndUKWDAnuM0N8+4iCSRlzx810Js6ttwTWiHkipra8Fc=,iv:G/hUqjl8bp6IzSBLs/zw6Mqh0tywRn3WvEB3XL7BCZ4=,tag:0+IE13XEn/Lw6Nz0h5RcvA==,type:str] 69 71 unencrypted_suffix: _unencrypted 70 72 version: 3.12.2