Compare commits

...

19 Commits

Author SHA1 Message Date
184e01767d update-openconcho-fork 2026-05-28 17:15:45 -04:00
c73fae7dc1 feat: add telos static site compose service (telos.lazyworkhorse.net) 2026-05-25 00:19:18 -04:00
e798c2f16b feat: add APC Back-UPS BVK1200M2 NUT configuration
Add power.ups module configuration for the APC Back-UPS BVK1200M2
connected via USB (vendor 051d, product 0002) in standalone mode.

- Driver: usbhid-ups with auto port detection
- upsd listening on localhost only
- upsmon configured as master for graceful shutdown
- Uses the built-in NixOS power.ups module
2026-05-25 00:15:58 -04:00
36359de6aa Merge pull request 'feat: add Syncthing firewall port and update compose submodule' (#47) from feat/syncthing-org-sync into master
Reviewed-on: #47
2026-05-19 00:34:42 +00:00
Robert
10b8565fd6 Merge branch 'master' into feat/syncthing-org-sync 2026-05-18 20:33:29 -04:00
Robert
f672696b8e Update submodule for syncthing 2026-05-18 20:31:07 -04:00
0980dca455 fix: update compose submodule to Traefik-routed Syncthing 2026-05-14 21:40:12 -04:00
96bc20ab70 feat: add Syncthing firewall port and update compose submodule 2026-05-14 21:36:26 -04:00
670ae4f002 Merge pull request 'fix: update compose submodule — use ln -sf for iptables-nft' (#46) from fix/vpn-iptables-nft-v3 into master
Reviewed-on: #46
2026-05-13 17:00:16 +00:00
f785abfd49 fix: update compose submodule — use ln -sf for iptables-nft 2026-05-13 12:59:04 -04:00
6f44aa7f76 Merge pull request 'fix: update compose submodule — remove apk add iptables-nft' (#45) from fix/vpn-iptables-nft-v2 into master
Reviewed-on: #45
2026-05-13 16:49:39 +00:00
8d40f1691f fix: update compose submodule — remove apk add iptables-nft 2026-05-13 12:49:14 -04:00
Robert
2dd2e64986 Merge remote-tracking branch 'origin/master' 2026-05-13 12:42:54 -04:00
Robert
23fc5e0597 Give a little more ssh room for tramp 2026-05-13 12:41:09 -04:00
0c9c33d735 Merge pull request 'fix: update wg-easy to official ghcr image with iptables-nft' (#44) from fix/vpn-iptables-nft-upstream into master
Reviewed-on: #44
2026-05-13 16:39:56 +00:00
0bb6890f1c chore: merge master into branch 2026-05-13 12:39:05 -04:00
9d5434425f fix: update compose submodule for wg-easy iptables-nft fix
Updates the assets/compose submodule to point to the fix/vpn-iptables-nft-upstream
branch which contains:
- Switch FROM weejewel/wg-easy:latest (Alpine 3.11, stale 4yr) to
  ghcr.io/wg-easy/wg-easy:latest (actively maintained, Alpine krypton)
- Use update-alternatives instead of raw ln -sf to flip iptables
  from legacy to nftables backend
- Fix compose build context: ./vpn -> . (Dockerfile is at same level)
2026-05-13 12:30:47 -04:00
1fb4320dd1 Merge pull request 'feat: update compose submodule for custom tools startup' (#43) from feat/update-compose-submodule-custom-tools into master
Reviewed-on: #43
2026-05-13 13:58:27 +00:00
51e9f47fd4 feat: update compose submodule for custom tools startup 2026-05-13 09:56:24 -04:00
2 changed files with 41 additions and 2 deletions

View File

@@ -207,6 +207,7 @@
ai = {
path = self + "/assets/compose/ai";
envFile = config.age.secrets.containers_env.path;
ports = [ 22000 ]; # Syncthing TCP sync
};
cloudstorage = {
@@ -341,6 +342,44 @@
HIP_VISIBLE_DEVICES = "0,1";
};
# ── UPS (Uninterruptible Power Supply) ──────────────────────────────
# APC Back-UPS BVK1200M2 connected via USB (vendor 051d, product 0002)
power.ups = {
enable = true;
mode = "standalone";
ups = {
apc-backups = {
driver = "usbhid-ups";
port = "auto";
description = "APC Back-UPS BVK1200M2";
};
};
upsd = {
listen = [{
address = "127.0.0.1";
}];
};
users = {
nutmon = {
passwordFile = pkgs.writeText "ups-nutmon-password" "ups-nutmon-2025";
upsmon = "primary";
};
};
upsmon = {
monitor = {
apc-backups = {
system = "apc-backups@localhost";
user = "nutmon";
type = "master";
};
};
};
};
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
@@ -474,7 +513,7 @@
services.openssh.settings = {
PermitRootLogin = "no";
MaxAuthTries = 3;
MaxSessions = 10;
MaxSessions = 20;
LoginGraceTime = 30;
ClientAliveInterval = 300;
ClientAliveCountMax = 2;