mirror of
https://codeberg.org/polyteknisk-radiogruppe/the_prg_server_configuration.git
synced 2026-10-21 03:15:46 +02:00
Compare commits
7 commits
783f1a8c0a
...
5ca2774960
| Author | SHA1 | Date | |
|---|---|---|---|
| 5ca2774960 | |||
| 1a5c5b7904 | |||
| cada6f4672 | |||
| 3321243a6e | |||
| 676f8aaa03 | |||
| 617e3a0e45 | |||
| b397a85336 |
3 changed files with 32 additions and 16 deletions
|
|
@ -145,7 +145,7 @@
|
|||
"/var/log/pelican/:/var/log/pelican:rw"
|
||||
];
|
||||
ports = [
|
||||
"8080:8080/tcp"
|
||||
"8443:8443/tcp"
|
||||
"2022:2022/tcp"
|
||||
];
|
||||
cmd = ["wings" "--ignore-certificate-errors"];
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ services:
|
|||
container_name: pelican_wings
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8443:8443"
|
||||
- "2022:2022"
|
||||
stdin_open: true
|
||||
command: ["wings", "--ignore-certificate-errors"]
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
choose = paths: builtins.head (builtins.filter (p: builtins.pathExists p) paths);
|
||||
# Domain and Cloudflare DDNS records configured here. Update this list to add/remove records.
|
||||
domain = "prg-radio.org";
|
||||
records = ["git" "grafana" "anubis" "wavelog" "pelican" "partdb" "mail" "mailadmin" "@" "test" "minecraft" "wings1.pelican"];
|
||||
records = ["git" "grafana" "anubis" "wavelog" "pelican" "partdb" "mail" "mailadmin" "@" "test" "minecraft" "wings1"];
|
||||
recordsStr = lib.concatStringsSep " " records;
|
||||
zoneId = "9fde8d0fa53502f2d1b7e0b1d3765d49";
|
||||
envFile = "/home/traefikprg/cloudflare/cloudflare.env";
|
||||
|
|
@ -296,6 +296,11 @@ in {
|
|||
address = "[::]:993";
|
||||
};
|
||||
|
||||
# SMPT TCP entrypoint (For Pelican's Wings file service)
|
||||
pelican-wings-file = {
|
||||
address = "[::]:2022";
|
||||
};
|
||||
|
||||
# Minecraft TCP entrypoint (Minecraft Java Edition default port)
|
||||
minecraft = {
|
||||
address = "[::]:25565";
|
||||
|
|
@ -379,7 +384,7 @@ in {
|
|||
|
||||
# Wings panel - exposes the Wings
|
||||
wings = {
|
||||
rule = "Host(`wings1.pelican.prg-radio.org`)";
|
||||
rule = "Host(`wings1.prg-radio.org`)";
|
||||
service = "wings-pelican";
|
||||
entryPoints = ["websecure"];
|
||||
tls = {certresolver = "acme";};
|
||||
|
|
@ -488,14 +493,12 @@ in {
|
|||
servers = [
|
||||
{url = "http://10.1.1.249:8070";}
|
||||
];
|
||||
passHostHeader = true;
|
||||
};
|
||||
|
||||
wings-pelican.loadBalancer = {
|
||||
servers = [
|
||||
{url = "http://10.1.1.249:2022";}
|
||||
{url = "https://10.1.1.249:8443";}
|
||||
];
|
||||
passHostHeader = true;
|
||||
};
|
||||
|
||||
# Mail JMAP HTTP backend
|
||||
|
|
@ -577,7 +580,12 @@ in {
|
|||
entryPoints = ["imaps"];
|
||||
tls = {passthrough = true;};
|
||||
};
|
||||
|
||||
pelican-wings-file = {
|
||||
# Use catch-all SNI rule because Minecraft clients don't use TLS/SNI
|
||||
rule = "HostSNI(`*`)";
|
||||
service = "pelican-wings-file";
|
||||
entryPoints = ["pelican-wings-file"];
|
||||
};
|
||||
# TCP router for Minecraft (plain TCP on 25565)
|
||||
minecraft = {
|
||||
# Use catch-all SNI rule because Minecraft clients don't use TLS/SNI
|
||||
|
|
@ -631,6 +639,13 @@ in {
|
|||
servers = [{address = "10.1.1.15:993";}];
|
||||
};
|
||||
|
||||
# TCP service for SMTP of the Pelican
|
||||
pelican-wings-file.loadBalancer = {
|
||||
servers = [
|
||||
{address = "10.1.1.249:2022";}
|
||||
];
|
||||
};
|
||||
|
||||
# TCP service for Minecraft
|
||||
minecraft.loadBalancer = {
|
||||
servers = [
|
||||
|
|
@ -640,10 +655,10 @@ in {
|
|||
|
||||
# TCP game services
|
||||
openra.loadBalancer = {
|
||||
servers = [{address = "10.1.1.244:1234";}];
|
||||
servers = [{address = "10.1.1.249:1234";}];
|
||||
};
|
||||
openttd.loadBalancer = {
|
||||
servers = [{address = "10.1.1.244:3979";}];
|
||||
servers = [{address = "10.1.1.249:3979";}];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -693,16 +708,16 @@ in {
|
|||
|
||||
# UDP game services (Valheim and Xonotic)
|
||||
"valheim-2456".loadBalancer = {
|
||||
servers = [{address = "10.1.1.244:2456";}];
|
||||
servers = [{address = "10.1.1.249:2456";}];
|
||||
};
|
||||
"valheim-2457".loadBalancer = {
|
||||
servers = [{address = "10.1.1.244:2457";}];
|
||||
servers = [{address = "10.1.1.249:2457";}];
|
||||
};
|
||||
"valheim-2458".loadBalancer = {
|
||||
servers = [{address = "10.1.1.244:2458";}];
|
||||
servers = [{address = "10.1.1.249:2458";}];
|
||||
};
|
||||
xonotic.loadBalancer = {
|
||||
servers = [{address = "10.1.1.244:26000";}];
|
||||
servers = [{address = "10.1.1.249:26000";}];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -998,8 +1013,9 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [80 443 10022 30033 8448 9001 3001 993 465 25 25565 24454];
|
||||
networking.firewall.allowedUDPPorts = [80 443 9987 9001 3001 993 465 25 25565 24454];
|
||||
# Allow common HTTP/S and control ports,
|
||||
networking.firewall.allowedTCPPorts = [80 443 10022 30033 8448 9001 3001 993 465 25 25565 24454 2456 2457 2458 26000 1234 3979 2022];
|
||||
networking.firewall.allowedUDPPorts = [80 443 9987 9001 3001 993 465 25 25565 24454 2022 2456 2457 2458 26000 1234 3979 2022];
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue