71 lines
1.6 KiB
Nix
71 lines
1.6 KiB
Nix
{ config, ... }:
|
|
|
|
{
|
|
# Traefik dynamic configuration for hs host
|
|
services.traefik.dynamicConfigOptions = {
|
|
http = {
|
|
routers = {
|
|
syncthing = {
|
|
rule = "Host(`syncthing.${config.networking.hostName}.yanlincs.com`)";
|
|
service = "syncthing";
|
|
tls = {
|
|
certResolver = "cloudflare";
|
|
domains = [{
|
|
main = "*.${config.networking.hostName}.yanlincs.com";
|
|
}];
|
|
};
|
|
};
|
|
|
|
jellyfin = {
|
|
rule = "Host(`jellyfin.${config.networking.hostName}.yanlincs.com`)";
|
|
service = "jellyfin";
|
|
tls = {
|
|
certResolver = "cloudflare";
|
|
domains = [{
|
|
main = "*.${config.networking.hostName}.yanlincs.com";
|
|
}];
|
|
};
|
|
};
|
|
|
|
photo = {
|
|
rule = "Host(`photo.${config.networking.hostName}.yanlincs.com`)";
|
|
service = "photo";
|
|
tls = {
|
|
certResolver = "cloudflare";
|
|
domains = [{
|
|
main = "*.${config.networking.hostName}.yanlincs.com";
|
|
}];
|
|
};
|
|
};
|
|
|
|
};
|
|
|
|
services = {
|
|
syncthing = {
|
|
loadBalancer = {
|
|
servers = [{
|
|
url = "http://127.0.0.1:8384";
|
|
}];
|
|
};
|
|
};
|
|
|
|
jellyfin = {
|
|
loadBalancer = {
|
|
servers = [{
|
|
url = "http://127.0.0.1:8096";
|
|
}];
|
|
};
|
|
};
|
|
|
|
photo = {
|
|
loadBalancer = {
|
|
servers = [{
|
|
url = "http://127.0.0.1:5000";
|
|
}];
|
|
};
|
|
};
|
|
|
|
};
|
|
};
|
|
};
|
|
}
|