Fix flake update #11
@@ -53,6 +53,10 @@ in
|
|||||||
systemd.services.gitea.serviceConfig.FailureAction = "exit-force";
|
systemd.services.gitea.serviceConfig.FailureAction = "exit-force";
|
||||||
};
|
};
|
||||||
net.expose.tcp = [ 3000 ];
|
net.expose.tcp = [ 3000 ];
|
||||||
|
miscProperties.nginx = {
|
||||||
|
domain = "git.floweytf.com";
|
||||||
|
port = 3000;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
ci-runner =
|
ci-runner =
|
||||||
|
|||||||
@@ -150,6 +150,9 @@ mkContainer {
|
|||||||
|
|
||||||
net.access = [ { to = "@internet"; } ];
|
net.access = [ { to = "@internet"; } ];
|
||||||
svc.autoStart = true;
|
svc.autoStart = true;
|
||||||
|
miscProperties.nginx = {
|
||||||
|
domain = "mail.floweytf.com";
|
||||||
|
};
|
||||||
net.forward.tcp = [
|
net.forward.tcp = [
|
||||||
25
|
25
|
||||||
993
|
993
|
||||||
|
|||||||
@@ -38,4 +38,8 @@ mkContainer {
|
|||||||
environment.JAVA_OPTS = "-Xmx128M";
|
environment.JAVA_OPTS = "-Xmx128M";
|
||||||
};
|
};
|
||||||
net.expose.tcp = [ 8080 ];
|
net.expose.tcp = [ 8080 ];
|
||||||
|
miscProperties.nginx = {
|
||||||
|
domain = "maven.floweytf.com";
|
||||||
|
port = 8080;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (dsl) mkContainer;
|
inherit (dsl) mkContainer collectContainers;
|
||||||
inherit (hostInfo.paths) data;
|
inherit (hostInfo.paths) data;
|
||||||
|
|
||||||
mkNginxConfig =
|
mkNginxConfig =
|
||||||
@@ -40,9 +40,6 @@ let
|
|||||||
defaultLoc = lib.optionalAttrs (upstream != null) {
|
defaultLoc = lib.optionalAttrs (upstream != null) {
|
||||||
"/" = {
|
"/" = {
|
||||||
proxyWebsockets = websockets;
|
proxyWebsockets = websockets;
|
||||||
# avoid startup error when containers aren't registered yet
|
|
||||||
# proxyPass is left unset for that reason, so recommendedProxySettings
|
|
||||||
# won't auto-include its headers here - set them manually to match
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
set $backend "${upstream.container.name}:${toString upstream.port}";
|
set $backend "${upstream.container.name}:${toString upstream.port}";
|
||||||
proxy_pass http://$backend;
|
proxy_pass http://$backend;
|
||||||
@@ -157,49 +154,45 @@ let
|
|||||||
|
|
||||||
up = container: port: { inherit container port; };
|
up = container: port: { inherit container port; };
|
||||||
|
|
||||||
nginxSetup =
|
discovered = collectContainers "nginx" containers;
|
||||||
hostAddr:
|
|
||||||
mkNginxConfig {
|
discoveredVhosts = map (
|
||||||
email = "floweydev@gmail.com";
|
{ container, data }:
|
||||||
resolver = hostAddr;
|
{ inherit (data) domain; }
|
||||||
vhosts = [
|
// lib.optionalAttrs (data ? port) { upstream = up container data.port; }
|
||||||
{
|
// lib.optionalAttrs (data ? websockets) { inherit (data) websockets; }
|
||||||
domain = "devenv.floweytf.com";
|
// lib.optionalAttrs (data ? redirect) { inherit (data) redirect; }
|
||||||
upstream = up containers.devenv 8080;
|
// lib.optionalAttrs (data ? listenHttp) { inherit (data) listenHttp; }
|
||||||
}
|
// lib.optionalAttrs (data ? extraLocations) { inherit (data) extraLocations; }
|
||||||
{
|
) discovered;
|
||||||
domain = "maven.floweytf.com";
|
|
||||||
upstream = up containers.maven 8080;
|
extraVhosts = [
|
||||||
}
|
{
|
||||||
{
|
domain = "utils.floweytf.com";
|
||||||
domain = "git.floweytf.com";
|
redirect = false;
|
||||||
upstream = up containers.git 3000;
|
listenHttp = true;
|
||||||
}
|
extraLocations = {
|
||||||
{
|
"/static/" = {
|
||||||
domain = "utils.floweytf.com";
|
alias = "/usr/share/nginx/static/";
|
||||||
redirect = false;
|
extraConfig = "autoindex on;";
|
||||||
listenHttp = true;
|
};
|
||||||
extraLocations = {
|
};
|
||||||
"/static/" = {
|
}
|
||||||
alias = "/usr/share/nginx/static/";
|
];
|
||||||
extraConfig = "autoindex on;";
|
|
||||||
};
|
upstreamContainers = map (e: e.container) (lib.filter ({ data, ... }: data ? port) discovered);
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
# no upstream, vhost only exists for certs
|
|
||||||
domain = "mail.floweytf.com";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
let
|
let
|
||||||
setup = nginxSetup hostAddr;
|
setup = mkNginxConfig {
|
||||||
|
email = "floweydev@gmail.com";
|
||||||
|
resolver = hostAddr;
|
||||||
|
vhosts = discoveredVhosts ++ extraVhosts;
|
||||||
|
};
|
||||||
c = mkContainer {
|
c = mkContainer {
|
||||||
inherit name;
|
inherit name;
|
||||||
net.access = setup.access ++ [ { to = "@internet"; } ];
|
net.access = setup.access ++ [ { to = "@internet"; } ];
|
||||||
svc.autoStart = true;
|
svc.autoStart = true;
|
||||||
svc.depends = lib.attrVals [ "devenv" "maven" "git" ] containers;
|
svc.depends = upstreamContainers;
|
||||||
net.forward.tcp = [
|
net.forward.tcp = [
|
||||||
80
|
80
|
||||||
443
|
443
|
||||||
|
|||||||
Reference in New Issue
Block a user