Add Pelican stuff - not complete.

Add more Fabric Mods.
This commit is contained in:
Root User 2026-03-20 15:41:59 +01:00
parent 6d55338dd7
commit 3dd7f7bfe8
Signed by: root
GPG key ID: 087F0A95E5766D72
5 changed files with 92 additions and 4 deletions

View file

@ -117,6 +117,23 @@ else
exit 1
fi
# Todo make it conditional so that it is done only for compose-nix, I will probably make a Rust cli something like that
# Deploy Caddyfile from modules to runtime path so the Panel can use it
CADDY_SRC="${MODULES_TARGET}/songsheet/wavelog/Caddyfile"
CADDY_DST="/etc/pelican/Caddyfile"
print_info "Deploying Caddyfile from ${BOLD}${CADDY_SRC}${RESET} to ${BOLD}${CADDY_DST}${RESET}..."
if [[ -f "${CADDY_SRC}" ]]; then
if sudo mkdir -p "$(dirname "${CADDY_DST}")" && sudo cp "${CADDY_SRC}" "${CADDY_DST}" && sudo chown root:root "${CADDY_DST}" && sudo chmod 0644 "${CADDY_DST}"; then
print_success "Caddyfile deployed to ${CADDY_DST}"
else
print_error "Failed to deploy Caddyfile to ${CADDY_DST}"
exit 1
fi
else
print_error "Caddyfile not found at ${CADDY_SRC}; aborting deployment"
exit 1
fi
## Todo System Conditional pulling of directories (only if it exists)
# Step 2.1: Sync secrets directory

View file

@ -0,0 +1,24 @@
{
admin off
servers {
# Trust the upstream reverse proxy (Traefik) so the Panel recognizes
# TLS is terminated there. Replace 10.1.1.250 with your Traefik IP
# or the Cloudflare IP ranges if you're using Cloudflare Flexible SSL.
trusted_proxies static 10.1.1.250
}
}
:80 {
root * /var/www/html/public
encode gzip
# FastCGI to the bundled php-fpm in the Panel image
php_fastcgi 127.0.0.1:9000 {
# Optional: raise upload limits if you need larger file uploads
env PHP_VALUE "upload_max_filesize = 256M
post_max_size = 256M"
}
file_server
}

View file

@ -86,10 +86,12 @@
image = "ghcr.io/pelican-dev/panel:latest";
environment = {
"ADMIN_EMAIL" = "kuutruu@posteo.net";
"APP_URL" = "https://pelican.prg-radio.org";
"APP_URL" = "http://localhost";
"TRUSTED_PROXIES" = "10.1.1.250";
"XDG_DATA_HOME" = "/pelican-data";
};
volumes = [
"nix-system-configs/modules/songsheet/wavelog/Caddyfile:/etc/caddy/Caddyfile:rw"
"wavelog_pelican-data:/pelican-data:rw"
"wavelog_pelican-logs:/var/www/html/storage/logs:rw"
];

View file

@ -100,12 +100,15 @@ services:
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
# Mount the Caddyfile from the stable host path that pull.zsh deploys to
- /etc/pelican/Caddyfile:/etc/caddy/Caddyfile:ro
- pelican-data:/pelican-data
- pelican-logs:/var/www/html/storage/logs
environment:
XDG_DATA_HOME: /pelican-data
APP_URL: "https://pelican.prg-radio.org"
ADMIN_EMAIL: "kuutruu@posteo.net"
TRUSTED_PROXIES: "10.1.1.250"
wings:
image: ghcr.io/pelican-dev/wings:latest

View file

@ -97,14 +97,15 @@ in {
motd = "PRG Fabric Modded Server";
difficulty = "hard";
gamemode = "survival";
max-players = 64;
max-players = 128;
online-mode = true;
white-list = false;
spawn-protection = 4;
view-distance = 10;
simulation-distance = 8;
view-distance = 16;
simulation-distance = 10;
enable-command-block = false;
enable-rcon = false;
level-type = "terralith:amplified_large_biomes";
};
# Grant operator privileges to the user with the given UUID.
@ -174,6 +175,47 @@ in {
url = "https://cdn.modrinth.com/data/9eGKb6K1/versions/pFTZ8sqQ/voicechat-fabric-1.21.11-2.6.12.jar";
sha512 = "afc78e3d8ca463fb783b00ec3d4cb938ff9249f088d077f8cd75f6c846419e0fe4916061f57a0b188a5c28565c934623c52113f476e69e82aecabaffc8e8fdcc";
};
Incendium = pkgs.fetchurl {
url = "https://cdn.modrinth.com/data/ZVzW5oNS/versions/fwHirj8n/Incendium_1.21.x_v5.4.11.jar";
sha512 = "42a6d14c290d799a99e51f2730403221a1d5be7863c796d275aa916e6735c02397390236a2ae01800566288419adebe7776c563d6a3c2e4a2f9245d375da88d7";
};
YungStrongholds = pkgs.fetchurl {
url = "https://cdn.modrinth.com/data/Z2mXHnxP/versions/eUEnv9r3/YungsBetterNetherFortresses-1.21.4-Fabric-3.4.1.jar";
sha512 = "d9e12bfb7b6b5d1f8cf141534e1df1038b0ad16bc50dc68796744820bf86166fe905004303ccfb572b6d4d77acdebb091e4ebf7a2f7e4280bd3866a5f6b32c7a";
};
YungAPI = pkgs.fetchurl {
url = "https://cdn.modrinth.com/data/Ua7DFN59/versions/U4m2SXEP/YungsApi-1.21.4-Fabric-5.4.0.jar";
sha512 = "d8db539ee3837e90082bbf0fb24442662334069bea634baed1ee86b43e20b221edd4099f13cfe9a1c242a91ad5dc33fcdf8143d420df1e67a0960c39cdb23f82";
};
Nullscape = pkgs.fetchurl {
url = "https://cdn.modrinth.com/data/LPjGiSO4/versions/f87vU1jc/Nullscape_1.21.x_v1.2.17.jar";
sha512 = "16e12725973e03284d1a9d71c750b9687b91d91789eae8df657aa0f90d3487a68687711e486e2e294800eb492c355960b09be43006f3e0c48f67fc91f4f30bc2";
};
Structury = pkgs.fetchurl {
url = "https://cdn.modrinth.com/data/aKCwCJlY/versions/MXU49bpN/Structory_1.21.x_v1.3.14.jar";
sha512 = "0aa3b4e31f851a0136eb672dc87c629db0fdaf2dd4a943c5dde7518b45fd733c7077c128b5d7fba674657d29ff09268040ab7d2c82a57414a22a2ea163ad8149";
};
StructuryTowers = pkgs.fetchurl {
url = "https://cdn.modrinth.com/data/j3FONRYr/versions/lefqbuOP/Structory_Towers_1.21.x_v1.0.15.jar";
sha512 = "4068a07e0b6b21da6f77b65ac731e01c920f0269830c5bdf4b27b5d8f5a384f170781123feaed83aff05fcd94738aa6e8c29ef1d01c2c9c5cc87c3b4ac52903a";
};
Ledger = pkgs.fetchurl {
url = "https://cdn.modrinth.com/data/LVN9ygNV/versions/c1d39lju/ledger-1.3.19.jar";
sha512 = "91c6cdd9d8bcb6fb57f3ec83c968217b157d7d763724ba19e6d21711bf14bdefdfe2a5b03226bce65c77a0988c6b1d336535de9c9bae4193902a95fac17152a0";
};
Bluemap = pkgs.fetchurl {
url = "https://cdn.modrinth.com/data/swbUV1cr/versions/TROfpX7m/bluemap-5.16-fabric.jar";
sha512 = "138c022c61ff7b37174351625bdb859d7b0fd1dd33b76a32d894dc6fd8fe1c3d3c5d2a8575a3e72a82ca84baaf3253c485085d8a415cc76d1ed20bbabe88ab25";
};
}
);
};