Add Wavelog onto Traefik
This commit is contained in:
parent
ede2d7a3a3
commit
d536b55061
3 changed files with 44 additions and 27 deletions
|
|
@ -1,8 +1,10 @@
|
||||||
# Auto-generated by compose2nix.
|
# Auto-generated by compose2nix.
|
||||||
|
|
||||||
{ pkgs, lib, config, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
# Runtime
|
# Runtime
|
||||||
virtualisation.podman = {
|
virtualisation.podman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -12,9 +14,12 @@
|
||||||
|
|
||||||
# Enable container name DNS for all Podman networks.
|
# Enable container name DNS for all Podman networks.
|
||||||
networking.firewall.interfaces = let
|
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 {
|
in {
|
||||||
"${matchAll}".allowedUDPPorts = [ 53 ];
|
"${matchAll}".allowedUDPPorts = [53];
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.oci-containers.backend = "podman";
|
virtualisation.oci-containers.backend = "podman";
|
||||||
|
|
@ -104,7 +109,7 @@
|
||||||
|
|
||||||
# Networks
|
# Networks
|
||||||
systemd.services."podman-network-wavelog_default" = {
|
systemd.services."podman-network-wavelog_default" = {
|
||||||
path = [ pkgs.podman ];
|
path = [pkgs.podman];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
|
|
@ -113,13 +118,13 @@
|
||||||
script = ''
|
script = ''
|
||||||
podman network inspect wavelog_default || podman network create wavelog_default
|
podman network inspect wavelog_default || podman network create wavelog_default
|
||||||
'';
|
'';
|
||||||
partOf = [ "podman-compose-wavelog-root.target" ];
|
partOf = ["podman-compose-wavelog-root.target"];
|
||||||
wantedBy = [ "podman-compose-wavelog-root.target" ];
|
wantedBy = ["podman-compose-wavelog-root.target"];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Volumes
|
# Volumes
|
||||||
systemd.services."podman-volume-wavelog_wavelog-config" = {
|
systemd.services."podman-volume-wavelog_wavelog-config" = {
|
||||||
path = [ pkgs.podman ];
|
path = [pkgs.podman];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
|
|
@ -127,11 +132,11 @@
|
||||||
script = ''
|
script = ''
|
||||||
podman volume inspect wavelog_wavelog-config || podman volume create wavelog_wavelog-config
|
podman volume inspect wavelog_wavelog-config || podman volume create wavelog_wavelog-config
|
||||||
'';
|
'';
|
||||||
partOf = [ "podman-compose-wavelog-root.target" ];
|
partOf = ["podman-compose-wavelog-root.target"];
|
||||||
wantedBy = [ "podman-compose-wavelog-root.target" ];
|
wantedBy = ["podman-compose-wavelog-root.target"];
|
||||||
};
|
};
|
||||||
systemd.services."podman-volume-wavelog_wavelog-dbdata" = {
|
systemd.services."podman-volume-wavelog_wavelog-dbdata" = {
|
||||||
path = [ pkgs.podman ];
|
path = [pkgs.podman];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
|
|
@ -139,11 +144,11 @@
|
||||||
script = ''
|
script = ''
|
||||||
podman volume inspect wavelog_wavelog-dbdata || podman volume create wavelog_wavelog-dbdata
|
podman volume inspect wavelog_wavelog-dbdata || podman volume create wavelog_wavelog-dbdata
|
||||||
'';
|
'';
|
||||||
partOf = [ "podman-compose-wavelog-root.target" ];
|
partOf = ["podman-compose-wavelog-root.target"];
|
||||||
wantedBy = [ "podman-compose-wavelog-root.target" ];
|
wantedBy = ["podman-compose-wavelog-root.target"];
|
||||||
};
|
};
|
||||||
systemd.services."podman-volume-wavelog_wavelog-uploads" = {
|
systemd.services."podman-volume-wavelog_wavelog-uploads" = {
|
||||||
path = [ pkgs.podman ];
|
path = [pkgs.podman];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
|
|
@ -151,11 +156,11 @@
|
||||||
script = ''
|
script = ''
|
||||||
podman volume inspect wavelog_wavelog-uploads || podman volume create wavelog_wavelog-uploads
|
podman volume inspect wavelog_wavelog-uploads || podman volume create wavelog_wavelog-uploads
|
||||||
'';
|
'';
|
||||||
partOf = [ "podman-compose-wavelog-root.target" ];
|
partOf = ["podman-compose-wavelog-root.target"];
|
||||||
wantedBy = [ "podman-compose-wavelog-root.target" ];
|
wantedBy = ["podman-compose-wavelog-root.target"];
|
||||||
};
|
};
|
||||||
systemd.services."podman-volume-wavelog_wavelog-userdata" = {
|
systemd.services."podman-volume-wavelog_wavelog-userdata" = {
|
||||||
path = [ pkgs.podman ];
|
path = [pkgs.podman];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
|
|
@ -163,8 +168,8 @@
|
||||||
script = ''
|
script = ''
|
||||||
podman volume inspect wavelog_wavelog-userdata || podman volume create wavelog_wavelog-userdata
|
podman volume inspect wavelog_wavelog-userdata || podman volume create wavelog_wavelog-userdata
|
||||||
'';
|
'';
|
||||||
partOf = [ "podman-compose-wavelog-root.target" ];
|
partOf = ["podman-compose-wavelog-root.target"];
|
||||||
wantedBy = [ "podman-compose-wavelog-root.target" ];
|
wantedBy = ["podman-compose-wavelog-root.target"];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Root service
|
# Root service
|
||||||
|
|
@ -174,6 +179,6 @@
|
||||||
unitConfig = {
|
unitConfig = {
|
||||||
Description = "Root target generated by compose2nix.";
|
Description = "Root target generated by compose2nix.";
|
||||||
};
|
};
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = ["multi-user.target"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,13 @@
|
||||||
entryPoints = ["websecure"];
|
entryPoints = ["websecure"];
|
||||||
tls = {};
|
tls = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wavelog = {
|
||||||
|
rule = "Host(`wavelog.prg-radio.org`)";
|
||||||
|
service = "wavelog";
|
||||||
|
entryPoints = ["websecure"];
|
||||||
|
tls = {};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
http.services = {
|
http.services = {
|
||||||
forgejo.loadBalancer = {
|
forgejo.loadBalancer = {
|
||||||
|
|
@ -97,6 +104,11 @@
|
||||||
{url = "http://10.1.1.4:3000";}
|
{url = "http://10.1.1.4:3000";}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
wavelog.loadBalancer = {
|
||||||
|
servers = [
|
||||||
|
{url = "http://10.1.1.249:8086";}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue