meow
diff-pr / dix (pull_request) Successful in 38m21s
flake-check / flake-check (pull_request) Successful in 9m14s
lint / lint (pull_request) Successful in 1m48s

This commit is contained in:
flowey
2026-09-22 15:53:42 -05:00
parent 83cd240c4c
commit bea6496491
6 changed files with 269 additions and 241 deletions
-54
View File
@@ -1,54 +0,0 @@
{
name,
hostInfo,
dsl,
...
}:
let
inherit (dsl) mkContainer mkService;
inherit (hostInfo.paths) data secrets;
in
mkContainer {
inherit name;
net.access = [ { to = "@internet"; } ];
svc.autoStart = true;
resources.fs = {
"/config" = {
hostPath = "${data}/web/devenv/config";
isReadOnly = false;
};
"/workspace" = {
hostPath = "${data}/web/devenv/workspace";
isReadOnly = false;
};
"/run/secrets/code-server-env" = {
hostPath = "${secrets}/code-server-env";
isReadOnly = true;
};
};
users = [
{
name = "coder";
uid = 1000;
home = "/config";
}
];
service =
{ pkgs, lib, ... }:
mkService {
description = "code-server";
execStart = "${lib.getExe' pkgs.code-server "code-server"} --bind-addr 0.0.0.0:8080 --user-data-dir /config/data --extensions-dir /config/extensions --auth password /workspace";
networkOnline = true;
serviceConfig = {
EnvironmentFile = "/run/secrets/code-server-env";
User = "coder";
ReadWritePaths = [
"/config"
"/workspace"
];
};
};
net.expose.tcp = [ 8080 ];
resources.mem = "4G";
resources.cpu = 2;
}
+5 -3
View File
@@ -158,7 +158,9 @@ let
discoveredVhosts = map (
{ container, data }:
{ inherit (data) domain; }
{
inherit (data) domain;
}
// lib.optionalAttrs (data ? port) { upstream = up container data.port; }
// lib.optionalAttrs (data ? websockets) { inherit (data) websockets; }
// lib.optionalAttrs (data ? redirect) { inherit (data) redirect; }
@@ -181,8 +183,7 @@ let
];
upstreamContainers = map (e: e.container) (lib.filter ({ data, ... }: data ? port) discovered);
in
let
setup = mkNginxConfig {
email = "floweydev@gmail.com";
resolver = hostAddr;
@@ -201,6 +202,7 @@ let
hostPath = "${data}/core/nginx/acme";
isReadOnly = false;
};
miscProperties.acmeDomains = map (v: v.domain) (discoveredVhosts ++ extraVhosts);
inherit (setup) containerConfig;
};
inherit (c) hostAddr;