Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
51960e200e
|
||
|
|
db72f30b56
|
@@ -26,4 +26,14 @@ Run ` lspci -k | grep -iA4 ethernet `
|
||||
` [ ] `
|
||||
|
||||
*Example:*
|
||||
`[ "r8169" ]`
|
||||
`[ "r8169" ]`
|
||||
|
||||
## cfg.ip
|
||||
|
||||
I hate DHCP! Set static ip or ip = hosts.malobeo.hosts.${hostname}.network.address;
|
||||
|
||||
*Default:*
|
||||
`Null` - Will error when not set
|
||||
|
||||
*Example:*
|
||||
`hosts.malobeo.hosts.fanny.network.address;`
|
||||
Generated
+7
-7
@@ -264,11 +264,11 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1792615934,
|
||||
"narHash": "sha256-MlvRfa1O5Cqc2/a+gG+l9TSuowEoCKCmrJ1d9oAVm0I=",
|
||||
"lastModified": 1788187754,
|
||||
"narHash": "sha256-bu1QxmXKmPuvBLN7bHP355OV9Qo13x9WCiRDH62CqRM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "da6dc0e7b26060f2f71ce3ef7088fb56ee44fa36",
|
||||
"rev": "5dfba6236110080a54247d6460bc2ff5dda939cc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -568,11 +568,11 @@
|
||||
"utils": "utils_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1792488750,
|
||||
"narHash": "sha256-VLBpNctawQ+Yd03hkfhNPUqQVXNCc7bc6Qhu7mwJvKM=",
|
||||
"lastModified": 1789131197,
|
||||
"narHash": "sha256-gpjhy2mIBt89oCVzoSXy8AgfAKjJ9Fi3u01CX09UTF4=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "7a8b9d4f3522c68cd15b21a1ec093c8c441775bf",
|
||||
"revCount": 162,
|
||||
"rev": "38bcceb0e8b84d6dcd50d05683c71eea8d410479",
|
||||
"revCount": 161,
|
||||
"type": "git",
|
||||
"url": "https://git.dynamicdiscord.de/kalipso/zineshop"
|
||||
},
|
||||
|
||||
@@ -72,6 +72,7 @@ in
|
||||
enable = true;
|
||||
authorizedKeys = sshKeys.admins;
|
||||
ethernetDrivers = ["e1000e"];
|
||||
ip = hosts.malobeo.hosts.albert.network.address;
|
||||
};
|
||||
|
||||
services.malobeo.vpn = {
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
|
||||
services.malobeo.gitea-translator = {
|
||||
enable = true;
|
||||
host = "0.0.0.0";
|
||||
};
|
||||
|
||||
services.hydra = {
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
let
|
||||
sshKeys = import ../ssh_keys.nix;
|
||||
hosts = import ../hosts.nix {};
|
||||
|
||||
in
|
||||
{
|
||||
imports =
|
||||
@@ -35,6 +37,7 @@ in
|
||||
enable = true;
|
||||
authorizedKeys = sshKeys.admins;
|
||||
ethernetDrivers = ["r8169"];
|
||||
ip = hosts.malobeo.hosts.bakunin.network.address;
|
||||
};
|
||||
|
||||
malobeo.users.malobeo = true;
|
||||
|
||||
@@ -90,6 +90,7 @@ in
|
||||
authorizedKeys = sshKeys.admins;
|
||||
ethernetDrivers = ["r8169"];
|
||||
zfsExtraPools = [ "storage" ];
|
||||
ip = hosts.malobeo.hosts.fanny.network.address;
|
||||
};
|
||||
|
||||
boot.initrd = {
|
||||
@@ -263,7 +264,7 @@ in
|
||||
client_body_in_file_only clean;
|
||||
client_body_buffer_size 32K;
|
||||
|
||||
client_max_body_size 500M;
|
||||
client_max_body_size 50M;
|
||||
|
||||
sendfile on;
|
||||
send_timeout 300s;
|
||||
|
||||
@@ -27,6 +27,10 @@ in
|
||||
default = [ ];
|
||||
description = "Name or GUID of extra ZFS pools that you wish to import during boot.";
|
||||
};
|
||||
ip = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "The requested static ip for the machine";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf (cfg.enable && config.malobeo.disks.encryption) {
|
||||
@@ -73,7 +77,7 @@ in
|
||||
"/etc/ssh/initrd" = "/etc/ssh/initrd";
|
||||
};
|
||||
};
|
||||
kernelParams = [ "ip=::::${hostName}-initrd::dhcp" ];
|
||||
kernelParams = [ "ip=${cfg.ip}::::${hostName}::" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ let
|
||||
hosts = import ../hosts.nix {};
|
||||
in
|
||||
{
|
||||
microvm.vcpu = 2;
|
||||
sops.defaultSopsFile = ./secrets.yaml;
|
||||
sops.secrets = {
|
||||
nextcloudAdminPass = {
|
||||
@@ -40,7 +39,7 @@ in
|
||||
|
||||
services.nextcloud = {
|
||||
enable = true;
|
||||
package = pkgs.nextcloud35;
|
||||
package = pkgs.nextcloud33;
|
||||
hostName = "cloud.malobeo.org";
|
||||
config.adminpassFile = config.sops.secrets.nextcloudAdminPass.path;
|
||||
maxUploadSize = "10G";
|
||||
@@ -50,10 +49,16 @@ in
|
||||
configureRedis = true;
|
||||
caching = {
|
||||
redis = true;
|
||||
apcu = true;
|
||||
};
|
||||
extraAppsEnable = true;
|
||||
extraApps = {
|
||||
inherit (config.services.nextcloud.package.packages.apps) contacts calendar polls registration collectives forms deck;
|
||||
inherit (config.services.nextcloud.package.packages.apps) contacts calendar polls registration collectives forms;
|
||||
deck = pkgs.fetchNextcloudApp {
|
||||
sha256 = "sha256-Oc/J0Ey7f9aHhLBWoAXaDMe2t0eeEQKvpwY510qNpiI=";
|
||||
url = "https://s3.g.megas4.com/ya5mczgkbk6bw7tcy2yr4bl2vdryfe76ok2dj/malo/deck33.tar.gz";
|
||||
license = "agpl3Plus";
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
trusted_domains = [ "cloud.malobeo.org" "cloud.hq.malobeo.org" ];
|
||||
@@ -63,6 +68,7 @@ in
|
||||
"default_phone_region" = "DE";
|
||||
};
|
||||
phpOptions = {
|
||||
"realpath_cache_size" = "0";
|
||||
"opcache.interned_strings_buffer" = "32";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
nextcloudAdminPass: ENC[AES256_GCM,data:RsP8Q1FqS9qgYTNe+H/nDHwQwr0fvlQawCOJWZVoF2U=,iv:AqJ79m3GAUd6sczDByJlb+K3XxxEt3HS4fURd7kn0bY=,tag:n/GyRKrIwOcksDtewnnXZw==,type:str]
|
||||
nextcloudAdminPass: ENC[AES256_GCM,data:es9hhtCcqBqPbV2L,iv:Kyq5kqao0uaMPs0GeRkJT9OWYSZfImBXngg51k0uQ0M=,tag:zN/u90/j4rmdo0HtY+cF9w==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- enc: |
|
||||
- recipient: age1ljpdczmg5ctqyeezn739hv589fwhssjjnuqf7276fqun6kc62v3qmhkd0c
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPT3ZxNEpRVktDWG9BR0Rv
|
||||
ZUZQTkJwQ0pSblNvTkFOT3BBdjVaSzJhVzBvCnVWc2xRUjBnRFFXSDgxczRMSFMy
|
||||
@@ -9,8 +14,8 @@ sops:
|
||||
aDd0UlpMR3RNd3BDMmhqNmxhTFRoUlkK6Pni+cswKIU94WkP/fg5fzSmx/fhXjjl
|
||||
mRG2o4ALCqcOxAxHBrKJppUCLjUgKG53wPF/jlIzkvbwHwnqVMfYsQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
recipient: age1ljpdczmg5ctqyeezn739hv589fwhssjjnuqf7276fqun6kc62v3qmhkd0c
|
||||
- enc: |
|
||||
- recipient: age1g084sl230x94mkd2wq92s03mw0e8mnpjdjfx9uzaxw6psm8neyzqqwpnqe
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRK2o2K2tPTFcvbXRkZ0lq
|
||||
bS9ZOUc3dG1JeERZYVNsc3k3RjcxQ0RsdkRJCkx1VFhBQXRDOElqakJ0eTd3NEJX
|
||||
@@ -18,9 +23,8 @@ sops:
|
||||
VjBFeldXS1p0Zk1uSk02aHpJd3BPOHcKvCmnK/KttB4RgnID/fj2KOdjvNnV3EWU
|
||||
B9mW4yxbEqhoxtu+GFD3eR/8SvMPEsHl9xorT/ZygMG7hAzedSukWw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
recipient: age1g084sl230x94mkd2wq92s03mw0e8mnpjdjfx9uzaxw6psm8neyzqqwpnqe
|
||||
lastmodified: "2026-10-22T19:07:13Z"
|
||||
mac: ENC[AES256_GCM,data:HD1uqrxxfLrHGQfu7HFpuunpj/npPe35AvvFrhGFRUTtXLGRPDn5xeOiuHyT+qSs51lukE+hYhv/+u4xolb0SInOJtPTZ6suRcZ4maJ+9P0mgjs7OmI4e68CpGo0xuOg378WvlF15VQH2KCcVskEkO9UBTfOUmyNku1g4F6PeWw=,iv:cJaz6dYkspBlBY9aCaK2/zBDiVg7J7nCE+fnwNHz1Tw=,tag:5sKITZ8uD7JnRtwhaOPoGw==,type:str]
|
||||
lastmodified: "2024-11-26T20:00:50Z"
|
||||
mac: ENC[AES256_GCM,data:qoY9SfpoU+8HfvD5v/1S6BOkbnZUmHIbtwr0tTSuPETjnFNgr1VVw9mnRatJKPYYFb9/rMZQWIqTY+iUIEkcTVyVXhd6ki5CHW+uxCeBIyMzq33rtEa/btkEUoii4iPieamBCIY21W0znE+edxfR04yRJtLxMICEbuW4Hjf6bwk=,iv:nG42fRgjpuIjPMYnn/6egEdzYolcUBsspaZ8zMv4888=,tag:C6apGoAvVLsWdLWSCwrx6w==,type:str]
|
||||
pgp:
|
||||
- created_at: "2025-03-05T08:24:30Z"
|
||||
enc: |-
|
||||
@@ -61,4 +65,4 @@ sops:
|
||||
-----END PGP MESSAGE-----
|
||||
fp: aef8d6c7e4761fc297cda833df13aebb1011b5d4
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.13.3
|
||||
version: 3.8.1
|
||||
|
||||
@@ -145,7 +145,6 @@ in
|
||||
"https://keys.malobeo.org"
|
||||
"https://tasklist.malobeo.org"
|
||||
"https://zines.malobeo.org"
|
||||
"http://${hosts.malobeo.hosts.albert.network.address}:27364/health"
|
||||
];
|
||||
}];
|
||||
|
||||
@@ -264,12 +263,6 @@ in
|
||||
targets = [ "${hosts.malobeo.hosts.albert.network.address}:9002" ];
|
||||
}];
|
||||
}
|
||||
{
|
||||
job_name = "wordpress";
|
||||
static_configs = [{
|
||||
targets = [ "${hosts.malobeo.hosts.wordpress.network.address}:9002" ];
|
||||
}];
|
||||
}
|
||||
# add vpn - check how to reach it first. most probably 10.100.0.1
|
||||
];
|
||||
};
|
||||
|
||||
@@ -23,17 +23,10 @@ in {
|
||||
};
|
||||
|
||||
imports = [
|
||||
inputs.malobeo.nixosModules.malobeo.metrics
|
||||
inputs.self.nixosModules.malobeo.users
|
||||
../modules/sshd.nix
|
||||
];
|
||||
|
||||
malobeo.metrics = {
|
||||
enable = true;
|
||||
enablePromtail = true;
|
||||
logNginx = true;
|
||||
};
|
||||
|
||||
malobeo.users = {
|
||||
malobeo = false;
|
||||
admin = true;
|
||||
|
||||
@@ -26,7 +26,7 @@ def _parse_response(baseurl, owner, repo):
|
||||
return pulls
|
||||
|
||||
class PullsHandler(BaseHTTPRequestHandler):
|
||||
_VALID_PATHS={"/", "/gitea-pulls-sorted.json", "/health"}
|
||||
_VALID_PATHS={"/", "/gitea-pulls-sorted.json"}
|
||||
|
||||
# Class variables to store configuration
|
||||
baseurl = None
|
||||
@@ -34,15 +34,6 @@ class PullsHandler(BaseHTTPRequestHandler):
|
||||
repo = None
|
||||
|
||||
def do_GET(self):
|
||||
if self.path == "/health":
|
||||
body=json.dumps({"status": "ok"}).encode("utf-8")
|
||||
self.send_response(200)
|
||||
self.send_header("Content-Type", "application/json; charset=utf-8")
|
||||
self.send_header("Content-Length", str(len(body)))
|
||||
self.end_headers()
|
||||
self.wfile.write(body)
|
||||
return
|
||||
|
||||
if self.path not in self._VALID_PATHS:
|
||||
self.send_error(404, "Not Found")
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user