62 lines
1.5 KiB
Nix
62 lines
1.5 KiB
Nix
/*
|
|
|
|
Name: https://en.wikipedia.org/wiki/Galatea_(mythology)
|
|
Why: Created as a product of artistic expression
|
|
Type: VM
|
|
Hardware: -
|
|
From: 2023
|
|
Role: Icecast server for ULFM
|
|
Notes:
|
|
|
|
*/
|
|
|
|
{ pkgs, lib, nodes, config, ... }:
|
|
let
|
|
# name of the server, sets teh hostname and record for it
|
|
name = "galatea";
|
|
ip_pub = "193.1.99.111";
|
|
ip_priv = "172.20.20.6";
|
|
hostname = "${name}.skynet.ie";
|
|
|
|
# dosent seem to be any otehr way to have it like read from a file
|
|
feck = "d9J4jDsJPuMPUMAAE4J4tH37HsmxEDze";
|
|
in {
|
|
imports = [
|
|
# general stuff for config
|
|
../applications/firewall.nix
|
|
../applications/dns.nix
|
|
# web stuff
|
|
../applications/nginx.nix
|
|
../applications/acme.nix
|
|
|
|
# specific to tis server
|
|
../applications/ulfm.nix
|
|
];
|
|
|
|
deployment = {
|
|
targetHost = hostname;
|
|
targetPort = 22;
|
|
targetUser = "root";
|
|
|
|
tags = [ "active" ];
|
|
};
|
|
|
|
# these two are to be able to add the rules for firewall and dns
|
|
# open the firewall for this
|
|
skynet_firewall.forward = [
|
|
"ip daddr ${ip_pub} tcp dport 80 counter packets 0 bytes 0 accept"
|
|
"ip daddr ${ip_pub} tcp dport 443 counter packets 0 bytes 0 accept"
|
|
"ip daddr ${ip_pub} tcp dport 8000 counter packets 0 bytes 0 accept"
|
|
];
|
|
|
|
skynet_dns.records = {
|
|
external = [
|
|
"${name} A ${ip_pub}"
|
|
];
|
|
cname = [
|
|
# this is also the stream server
|
|
#"stream CNAME ${name}"
|
|
"ulfm CNAME ${name}"
|
|
];
|
|
};
|
|
}
|