fix(coder): Reverse proxy domains

This commit is contained in:
Tibo De Peuter 2025-10-11 15:29:58 +02:00
parent c5f857f0f1
commit ae777ec460
Signed by: tdpeuter
GPG key ID: 38297DE43F75FFE2

View file

@ -66,6 +66,12 @@ in {
dependsOn = [ dependsOn = [
"coderDb" "coderDb"
]; ];
extraOptions = [
"--group-add" "131" # Add docker group to access the socket
# Modify DNS
"--dns=192.168.0.91"
];
ports = [ ports = [
"${toString cfg.port}:${toString coderPort}/tcp" "${toString cfg.port}:${toString coderPort}/tcp"
]; ];
@ -79,16 +85,16 @@ in {
labels = { labels = {
"traefik.enable" = "true"; "traefik.enable" = "true";
"traefik.docker.network" = proxyNet; "traefik.docker.network" = proxyNet;
"traefik.http.routers.coder.rule" = "Host(`code.depeuter.dev`)"; "traefik.http.routers.coder.rule" = "HostRegexp(`.+\.code\.depeuter\.dev`) || Host(`code.depeuter.dev`)";
"traefik.http.services.coder.loadbalancer.server.port" = toString coderPort; "traefik.http.services.coder.loadbalancer.server.port" = toString coderPort;
}; };
environment = { environment = {
CODER_PG_CONNECTION_URL = "postgresql://${postgresUser}:${postgresPassword}@database/${postgresDb}?sslmode=disable"; CODER_PG_CONNECTION_URL = "postgresql://${postgresUser}:${postgresPassword}@coder-db/${postgresDb}?sslmode=disable";
# Required if you are not using the tunnel # Required if you are not using the tunnel
CODER_ACCESS_URL = cfg.accessUrl; CODER_ACCESS_URL = cfg.accessUrl;
CODER_WILDCARD_ACCESS_URL = cfg.wildcardAccessUrl; CODER_WILDCARD_ACCESS_URL = cfg.wildcardAccessUrl;
CODER_DISABLE_PATH_APPS = "true"; CODER_DISABLE_PATH_APPS = "false"; # TODO Enable me!
CODER_HTTP_ADDRESS = "0.0.0.0:${toString coderPort}"; CODER_HTTP_ADDRESS = "0.0.0.0:${toString coderPort}";
CODER_TLS_ENABLE = "false"; CODER_TLS_ENABLE = "false";
@ -105,18 +111,18 @@ in {
hostname = "coder-db"; hostname = "coder-db";
image = "postgres:${coderDbVersion}"; image = "postgres:${coderDbVersion}";
autoStart = true; autoStart = true;
ports = lib.mkIf cfg.db.port [
"${toString cfg.db.port}:5432/tcp"
];
networks = [
networkName
];
extraOptions = [ extraOptions = [
''--health-cmd="pg_isready -U ${postgresUser} -d ${postgresDb}"'' ''--health-cmd="pg_isready -U ${postgresUser} -d ${postgresDb}"''
"--health-interval=5s" "--health-interval=5s"
"--health-timeout=5s" "--health-timeout=5s"
"--health-retries=5" "--health-retries=5"
]; ];
ports = lib.mkIf cfg.db.port [
"${toString cfg.db.port}:5432/tcp"
];
networks = [
networkName
];
volumes = [ volumes = [
"coder_data:/var/lib/postgresql/data" "coder_data:/var/lib/postgresql/data"
]; ];
@ -126,6 +132,17 @@ in {
POSTGRES_DB = postgresDb; POSTGRES_DB = postgresDb;
}; };
}; };
traefik.cmd = [
"--entrypoints.websecure.http.tls.domains[2].main=code.depeuter.dev"
"--entrypoints.websecure.http.tls.domains[2].sans=*.code.depeuter.dev"
];
};
virtualisation.docker.daemon.settings = {
dns = [
"192.168.0.91"
];
}; };
}; };
} }