Add Wavelog onto Traefik

This commit is contained in:
Root User 2026-02-07 00:00:54 +01:00
parent ede2d7a3a3
commit d536b55061
Signed by: root
GPG key ID: 087F0A95E5766D72
3 changed files with 44 additions and 27 deletions

View file

@ -1,8 +1,10 @@
# Auto-generated by compose2nix.
{ pkgs, lib, config, ... }:
{
pkgs,
lib,
config,
...
}: {
# Runtime
virtualisation.podman = {
enable = true;
@ -12,9 +14,12 @@
# Enable container name DNS for all Podman networks.
networking.firewall.interfaces = let
matchAll = if !config.networking.nftables.enable then "podman+" else "podman*";
matchAll =
if !config.networking.nftables.enable
then "podman+"
else "podman*";
in {
"${matchAll}".allowedUDPPorts = [ 53 ];
"${matchAll}".allowedUDPPorts = [53];
};
virtualisation.oci-containers.backend = "podman";
@ -104,7 +109,7 @@
# Networks
systemd.services."podman-network-wavelog_default" = {
path = [ pkgs.podman ];
path = [pkgs.podman];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
@ -113,13 +118,13 @@
script = ''
podman network inspect wavelog_default || podman network create wavelog_default
'';
partOf = [ "podman-compose-wavelog-root.target" ];
wantedBy = [ "podman-compose-wavelog-root.target" ];
partOf = ["podman-compose-wavelog-root.target"];
wantedBy = ["podman-compose-wavelog-root.target"];
};
# Volumes
systemd.services."podman-volume-wavelog_wavelog-config" = {
path = [ pkgs.podman ];
path = [pkgs.podman];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
@ -127,11 +132,11 @@
script = ''
podman volume inspect wavelog_wavelog-config || podman volume create wavelog_wavelog-config
'';
partOf = [ "podman-compose-wavelog-root.target" ];
wantedBy = [ "podman-compose-wavelog-root.target" ];
partOf = ["podman-compose-wavelog-root.target"];
wantedBy = ["podman-compose-wavelog-root.target"];
};
systemd.services."podman-volume-wavelog_wavelog-dbdata" = {
path = [ pkgs.podman ];
path = [pkgs.podman];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
@ -139,11 +144,11 @@
script = ''
podman volume inspect wavelog_wavelog-dbdata || podman volume create wavelog_wavelog-dbdata
'';
partOf = [ "podman-compose-wavelog-root.target" ];
wantedBy = [ "podman-compose-wavelog-root.target" ];
partOf = ["podman-compose-wavelog-root.target"];
wantedBy = ["podman-compose-wavelog-root.target"];
};
systemd.services."podman-volume-wavelog_wavelog-uploads" = {
path = [ pkgs.podman ];
path = [pkgs.podman];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
@ -151,11 +156,11 @@
script = ''
podman volume inspect wavelog_wavelog-uploads || podman volume create wavelog_wavelog-uploads
'';
partOf = [ "podman-compose-wavelog-root.target" ];
wantedBy = [ "podman-compose-wavelog-root.target" ];
partOf = ["podman-compose-wavelog-root.target"];
wantedBy = ["podman-compose-wavelog-root.target"];
};
systemd.services."podman-volume-wavelog_wavelog-userdata" = {
path = [ pkgs.podman ];
path = [pkgs.podman];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
@ -163,8 +168,8 @@
script = ''
podman volume inspect wavelog_wavelog-userdata || podman volume create wavelog_wavelog-userdata
'';
partOf = [ "podman-compose-wavelog-root.target" ];
wantedBy = [ "podman-compose-wavelog-root.target" ];
partOf = ["podman-compose-wavelog-root.target"];
wantedBy = ["podman-compose-wavelog-root.target"];
};
# Root service
@ -174,6 +179,6 @@
unitConfig = {
Description = "Root target generated by compose2nix.";
};
wantedBy = [ "multi-user.target" ];
wantedBy = ["multi-user.target"];
};
}

View file

@ -90,6 +90,13 @@
entryPoints = ["websecure"];
tls = {};
};
wavelog = {
rule = "Host(`wavelog.prg-radio.org`)";
service = "wavelog";
entryPoints = ["websecure"];
tls = {};
};
};
http.services = {
forgejo.loadBalancer = {
@ -97,6 +104,11 @@
{url = "http://10.1.1.4:3000";}
];
};
wavelog.loadBalancer = {
servers = [
{url = "http://10.1.1.249:8086";}
];
};
};
};
};