diff --git a/ops/nixos/cofractal-ams01/default.nix b/ops/nixos/cofractal-ams01/default.nix index 8b7ec6d5ea..f6513b4c8e 100644 --- a/ops/nixos/cofractal-ams01/default.nix +++ b/ops/nixos/cofractal-ams01/default.nix @@ -143,6 +143,12 @@ in { address = "199.19.152.160"; prefixLength = 30; } ]; }; + firewall.interfaces.bond0.allowedTCPPorts = [ + 32400 # Plex + ]; + firewall.interfaces.bond0.allowedUDPPorts = [ + 34197 # factorio + ]; }; my.ip.tailscale = "100.94.187.27"; my.ip.tailscale6 = "fd7a:115c:a1e0:ab12:4843:cd96:625e:bb1b"; @@ -229,5 +235,29 @@ in virtualHosts = vhosts; }; + services.factorio = { + inherit (depot.ops.secrets.factorio) username token; + enable = true; + package = pkgs.factorio-headless.override { + versionsJson = pkgs.fetchurl { + url = "https://raw.githubusercontent.com/NixOS/nixpkgs/fcd190ad2ade277aa1e5276beadd61210bcd2441/pkgs/games/factorio/versions.json"; + sha256 = "sha256:0w5d4vhlsi7n496jm1yszydblb9k8w6ldk5v5i3fh183snaxaqnj"; + }; + }; + saveName = "lukegb20230312-krastorio2"; + game-name = "Briefcase Full of Bees"; + mods = depot.nix.pkgs.factorio-mods._all; + extraSettings = { + admins = ["lukegb"]; + auto_pause = true; + only_admins_can_pause_the_game = false; + game_password = depot.ops.secrets.factorioServerPassword; + non_blocking_saving = true; + autosave_only_on_server = true; + autosave_interval = 5; + autosave_slots = 60; + }; + }; + system.stateVersion = "23.05"; }