Compare commits

...

4 Commits

  1. 12
      common/fragments/minecraft-server.nix
  2. 32
      hosts/crimespoon/configuration.nix
  3. 20
      hosts/felonyspork/configuration.nix

12
common/fragments/minecraft-server.nix

@ -14,9 +14,8 @@
SEED = "-7159392300545500356";
MOTD = "Minecraft with Quilt on CRIMESPOON via Docker";
ICON = "https://nora.codes/favicon.ico";
SPAWN_PROTECTION="FALSE";
DIFFICULTY="easy";
MODRINTH_PROJECTS="fabric-api,fabric-biome-api,fallingtree,bluemap,lithium,betterend,betternether,waystone-towers,balm,waystones,immersive_structures,essential-commands,towns-and-towers,tectonic,paradise-lost:beta";
SPAWN_PROTECTION = "0";
DIFFICULTY = "easy";
};
autoStart = true;
ports = ["25565:25565" "25585:25585" "8100:8100"];
@ -39,9 +38,10 @@
SEED = "77739";
MOTD = "Blossom Grove's modded community Minecraft server, running BGPack 1.0.0!";
ICON = "https://mindmesh.link/favicon.ico";
SPAWN_PROTECTION="FALSE";
DIFFICULTY="easy";
SPAWN_PROTECTION = "0";
DIFFICULTY = "easy";
ENFORCE_WHITELIST = "TRUE";
ENFORCE_SECURE_PROFILE = "FALSE";
};
autoStart = true;
ports = ["25566:25565" "25586:25585"];
@ -51,6 +51,6 @@
# Port 8100 is for BlueMap.
# Port 24454 (U) is for Many's voice chat mod
networking.firewall.allowedTCPPorts = [ 25565 25566 25585 25586 8100 ];
networking.firewall.allowedTCPPorts = [ 25565 25566 24454 25585 25586 8100 ];
networking.firewall.allowedUDPPorts = [ 25565 25566 24454 ];
}

32
hosts/crimespoon/configuration.nix

@ -55,12 +55,18 @@
fsType = "nfs";
};
systemd.services.qbittorrent.after = ["mnt-Download.mount"];
systemd.services.qbittorrent.requires= ["mnt-Download.mount"];
# Enable backups to Moria via rsync
# (These backups go to /Public/Backup/<etc>)
systemd.services.rsync_backup = {
serviceConfig.Type = "oneshot";
path = with pkgs; [ rsync ];
requires = ["mnt-Download.mount"];
script = ''
rsync -a --delete /var/games/minecraft/ moria.local::CRIMESPOON/minecraft/
rsync -a --delete /var/games/minecraft-many/ moria.local::CRIMESPOON/minecraft-many/
'';
};
@ -70,32 +76,6 @@
timerConfig.OnCalendar="*-*-* 2:00:00";
};
# Enable backing up Akina Postgres DB to Akina via rsync
systemd.services.akina_rsync_backup = {
serviceConfig.Type = "oneshot";
path = with pkgs; [ openssh rsync coreutils ];
script = ''
set -e
BACKUP_FILENAME=pg_dumpall-$(hostname)-$(date --iso-8601).sql.gz
ssh postgres@nora.codes -i ~/.ssh/crimespoon-akina-backup-key "pg_dumpall --clean | gzip > $BACKUP_FILENAME"
scp -i ~/.ssh/crimespoon-akina-backup-key postgres@nora.codes:$BACKUP_FILENAME ./$BACKUP_FILENAME
ssh postgres@nora.codes -i ~/.ssh/crimespoon-akina-backup-key "rm $BACKUP_FILENAME"
rsync -a --delete $BACKUP_FILENAME moria.local::CRIMESPOON/akina/$BACKUP_FILENAME
rm $BACKUP_FILENAME
'';
};
systemd.timers.akina_rsync_backup = {
wantedBy = [ "timers.target" ];
partOf = [ "akina_rsync_backup.service" ];
timerConfig.OnCalendar="Weekly";
};
services.openssh.enable = true;
system.stateVersion = "21.11"; # Did you read the comment?
}

20
hosts/felonyspork/configuration.nix

@ -46,6 +46,24 @@
fsType = "nfs";
};
systemd.services.jellyfin.after = [
"mnt-Download.mount"
"mnt-Public.mount"
];
systemd.services.jellyfin.requires = [
"mnt-Download.mount"
"mnt-Public.mount"
];
systemd.services.syncthing.after = [
"mnt-moria.mount"
];
systemd.services.syncthing.requires = [
"mnt-moria.mount"
];
# Enable DigitalOcean dynamic DNS
systemd.services.do_dyndns = {
enable = true;
@ -216,6 +234,8 @@
"graphs1090.home.nora.codes"
];
};
systemd.services.nginx.after = ["avahi-daemon.service"];
systemd.services.nginx.requires= ["avahi-daemon.service"];
networking.firewall.allowedTCPPorts = [ 80 443 ];
# Export nginx stats

Loading…
Cancel
Save