Compare commits
5 commits
6061ba3288
...
ff604fa02d
| Author | SHA1 | Date | |
|---|---|---|---|
| ff604fa02d | |||
| 5e8cb90b83 | |||
| 31576bbfa0 | |||
| 3f477a3fde | |||
| 0996300740 |
6 changed files with 115 additions and 20 deletions
34
bikeability2.nix
Normal file
34
bikeability2.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
{ pkgs, config, lib, ... }:
|
||||||
|
let
|
||||||
|
wordpressPort = 5781;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = lib.mkMerge [
|
||||||
|
(lib.mkIf (config.networking.hostName == "nixnas") {
|
||||||
|
services.wordpress.sites."bikeability.net" = {
|
||||||
|
virtualHost.listen = [{
|
||||||
|
port = wordpressPort;
|
||||||
|
ip = "127.0.0.1";
|
||||||
|
}];
|
||||||
|
settings = {
|
||||||
|
FORCE_SSL_ADMIN = true;
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
$_SERVER['HTTPS']='on';
|
||||||
|
'';
|
||||||
|
plugins = {
|
||||||
|
wpcode = pkgs.stdenv.mkDerivation rec {
|
||||||
|
name = "wpcode";
|
||||||
|
version = "2.3.3";
|
||||||
|
src = pkgs.fetchzip {
|
||||||
|
url = "https://downloads.wordpress.org/plugins/insert-headers-and-footers.${version}.zip";
|
||||||
|
hash = "sha256-BjQ62ZvWck/e0kcP6Ny1pOGAfsPVUDQLrvGnvkeq6FY=";
|
||||||
|
};
|
||||||
|
installPhase = "mkdir -p $out; cp -R * $out/";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.cloudflared.tunnels.mine.ingress."bikeability.net" = "http://127.0.0.1:${builtins.toString wordpressPort}";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
15
cloudflared.nix
Normal file
15
cloudflared.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
{
|
||||||
|
config = lib.mkMerge [
|
||||||
|
(lib.mkIf (config.networking.hostName == "nixnas") {
|
||||||
|
services.cloudflared = {
|
||||||
|
enable = true;
|
||||||
|
certificateFile = "/Block/cloudflare/cert.pem";
|
||||||
|
tunnels.mine = {
|
||||||
|
credentialsFile = "/Block/cloudflare/2d530440-2db8-491a-bb61-7941315d4cb9.json";
|
||||||
|
default = "http_status:404";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
4
cos.nix
4
cos.nix
|
|
@ -11,8 +11,10 @@
|
||||||
./emacs.nix
|
./emacs.nix
|
||||||
./minecraft/minecraft-servers.nix
|
./minecraft/minecraft-servers.nix
|
||||||
./mastodon.nix
|
./mastodon.nix
|
||||||
|
./cloudflared.nix
|
||||||
|
./umami.nix
|
||||||
|
./bikeability2.nix
|
||||||
"${inputs.home-manager}/nixos"
|
"${inputs.home-manager}/nixos"
|
||||||
inputs.nix-minecraft.nixosModules.minecraft-servers
|
|
||||||
];
|
];
|
||||||
|
|
||||||
options.cos = {
|
options.cos = {
|
||||||
|
|
|
||||||
|
|
@ -123,17 +123,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.nginx.streamConfig = ''
|
|
||||||
server {
|
|
||||||
listen 25565 reuseport;
|
|
||||||
proxy_pass 10.100.0.2:25565;
|
|
||||||
}
|
|
||||||
server {
|
|
||||||
listen 25566 reuseport;
|
|
||||||
proxy_pass 10.100.0.2:25566;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
services.dnsmasq = {
|
services.dnsmasq = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -158,10 +147,6 @@ in
|
||||||
usePredictableInterfaceNames = false;
|
usePredictableInterfaceNames = false;
|
||||||
useDHCP = false;
|
useDHCP = false;
|
||||||
firewall = {
|
firewall = {
|
||||||
allowedTCPPorts = [
|
|
||||||
25565 # minecraft survival
|
|
||||||
25566 # minecraft creative
|
|
||||||
];
|
|
||||||
allowedUDPPorts = [
|
allowedUDPPorts = [
|
||||||
51820 # wireguard
|
51820 # wireguard
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
let
|
let
|
||||||
survivalPort = 25565;
|
survivalPort = 25565;
|
||||||
creativePort = 25566;
|
creativePort = 25566;
|
||||||
|
cobblemonPort = 25567;
|
||||||
users = {
|
users = {
|
||||||
clay53_clayton = "bc2653cd-6cb1-4d15-9d24-cce0d1e8811c";
|
clay53_clayton = "bc2653cd-6cb1-4d15-9d24-cce0d1e8811c";
|
||||||
fire_chase = "c2b1a7ff-abff-41cb-af2a-4a89e942d288";
|
fire_chase = "c2b1a7ff-abff-41cb-af2a-4a89e942d288";
|
||||||
|
|
@ -23,8 +24,15 @@ let
|
||||||
maxRam = "1G";
|
maxRam = "1G";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.nix-minecraft.nixosModules.minecraft-servers
|
||||||
|
];
|
||||||
config = lib.mkMerge [
|
config = lib.mkMerge [
|
||||||
(lib.mkIf (config.networking.hostName == "nixnas") {
|
(lib.mkIf (config.networking.hostName == "nixnas") {
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
inputs.nix-minecraft.overlay
|
||||||
|
];
|
||||||
|
|
||||||
services.minecraft-servers = {
|
services.minecraft-servers = {
|
||||||
enable = true;
|
enable = true;
|
||||||
eula = true;
|
eula = true;
|
||||||
|
|
@ -46,7 +54,7 @@ in
|
||||||
motd = "Clayton Hickey's Survival";
|
motd = "Clayton Hickey's Survival";
|
||||||
white-list = true;
|
white-list = true;
|
||||||
};
|
};
|
||||||
package = pkgs.minecraftServers.vanilla-1_21_11;
|
package = pkgs.vanillaServers.vanilla-1_21_11;
|
||||||
jvmOpts = "-Xms${minRam} -Xmx${maxRam}";
|
jvmOpts = "-Xms${minRam} -Xmx${maxRam}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -64,13 +72,63 @@ in
|
||||||
motd = "Clayton Hickey's Creative";
|
motd = "Clayton Hickey's Creative";
|
||||||
white-list = true;
|
white-list = true;
|
||||||
};
|
};
|
||||||
package = pkgs.minecraftServers.vanilla-1_21_11;
|
package = pkgs.vanillaServers.vanilla-1_21_11;
|
||||||
jvmOpts = "-Xms${minRam} -Xmx${maxRam}";
|
jvmOpts = "-Xms${minRam} -Xmx${maxRam}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.minecraft-servers.servers.cobblemon =
|
||||||
|
let
|
||||||
|
inherit (inputs.nix-minecraft.lib) collectFilesAt;
|
||||||
|
modpack = pkgs.fetchPackwizModpack {
|
||||||
|
url = "https://forgejo.claytonhickey.me/clay53/cobblemon-modpack/raw/branch/master/pack.toml";
|
||||||
|
packHash = "sha256-rz51hV1kgju7+6OyeEzSwO4+fmoS4/bi0Fo9iCYBOnI=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
autoStart = true;
|
||||||
|
restart = "always";
|
||||||
|
enableReload = false;
|
||||||
|
whitelist = defaultWhitelist;
|
||||||
|
operators = defaultOperators;
|
||||||
|
serverProperties = {
|
||||||
|
server-port = cobblemonPort;
|
||||||
|
difficulty = 3;
|
||||||
|
gamemode = 0;
|
||||||
|
motd = "Clayton Hickey's Cobblemon";
|
||||||
|
white-list = true;
|
||||||
|
};
|
||||||
|
package = pkgs.fabricServers.fabric-1_21_1;
|
||||||
|
symlinks = collectFilesAt modpack "mods";
|
||||||
|
};
|
||||||
|
|
||||||
networking.firewall.interfaces.${config.cos.wireguard.interface}.allowedTCPPorts = [
|
networking.firewall.interfaces.${config.cos.wireguard.interface}.allowedTCPPorts = [
|
||||||
survivalPort
|
survivalPort
|
||||||
creativePort
|
creativePort
|
||||||
|
cobblemonPort
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
|
(lib.mkIf (config.networking.hostName == "loadedskypotato") {
|
||||||
|
services.nginx.streamConfig = ''
|
||||||
|
server {
|
||||||
|
listen ${survivalPort} reuseport;
|
||||||
|
proxy_pass 10.100.0.2:${survivalPort};
|
||||||
|
}
|
||||||
|
server {
|
||||||
|
listen ${creativePort} reuseport;
|
||||||
|
proxy_pass 10.100.0.2:${creativePort};
|
||||||
|
}
|
||||||
|
server {
|
||||||
|
listen ${cobblemonPort} reuseport;
|
||||||
|
proxy_pass 10.100.0.2:${cobblemonPort};
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
survivalPort
|
||||||
|
creativePort
|
||||||
|
cobblemonPort
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,11 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
APP_SECRET_FILE = "/Block/umami/app_secret.txt";
|
APP_SECRET_FILE = "/Block/umami/app_secret.txt";
|
||||||
HOSTNAME = config.cos.wireguard.clientInternalIP;
|
HOSTNAME = "127.0.0.1";
|
||||||
PORT = umamiPort;
|
PORT = umamiPort;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
services.cloudflared.tunnels.mine.ingress."umami.claytonhickey.me" = "http://127.0.0.1:${builtins.toString umamiPort}";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue