Skip to content

Commit 669ab6d

Browse files
committed
Update BuildConfigTool.astro
1 parent 272e8b4 commit 669ab6d

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

docs/src/components/BuildConfigTool.astro

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2122,7 +2122,7 @@ const renderConfigOption = (option: ConfigOption, isBasic = true) => {
21222122

21232123
const envVars: string[] = [];
21242124
let baseImage = "alpine:edge";
2125-
let packageManager = "apk update && \\\n apk add bash git curl sudo";
2125+
let packageManager = "apk update && \\\n apk add bash git curl";
21262126
let shell = "/bin/ash";
21272127
let portMapping = "8080:8080";
21282128
let volumeMapping = "~/qbt:/root";
@@ -2143,10 +2143,10 @@ const renderConfigOption = (option: ConfigOption, isBasic = true) => {
21432143
\tLC_ALL="C.UTF-8" \\
21442144
\tDEBIAN_FRONTEND=noninteractive \\
21452145
\tapt-get update && \\
2146-
\tapt-get install -y git curl sudo`;
2146+
\tapt-get install -y git curl`;
21472147
shell = "/bin/bash";
21482148
} else {
2149-
packageManager = "apk update && apk add bash git curl sudo";
2149+
packageManager = "apk update && apk add bash git curl";
21502150
}
21512151
return; // Don't include this in env vars
21522152
}
@@ -2200,7 +2200,7 @@ const renderConfigOption = (option: ConfigOption, isBasic = true) => {
22002200
: ' && \\\n useradd -ms /bin/bash -u 1000 username && \\\n echo "username ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/username'
22012201
: "";
22022202

2203-
// Package manager commands - run as root initially, no sudo needed
2203+
// Package manager commands - add sudo only when running as username
22042204
if (dockerUser === "username") {
22052205
if (baseImage.includes("ubuntu") || baseImage.includes("debian")) {
22062206
packageManager = `LANG="C.UTF-8" \\
@@ -2256,7 +2256,7 @@ ${envVarsFormatted}
22562256

22572257
const envVars: string[] = [];
22582258
let baseImage = "alpine:edge";
2259-
let packageManager = "apk update && \\\n apk add bash git curl sudo";
2259+
let packageManager = "apk update && \\\n apk add bash git curl";
22602260
let shell = "/bin/ash";
22612261
let portMapping = "8080:8080";
22622262
let volumeMapping = "~/qbt:/root";
@@ -2277,10 +2277,10 @@ ${envVarsFormatted}
22772277
\tLC_ALL="C.UTF-8" \\
22782278
\tDEBIAN_FRONTEND=noninteractive \\
22792279
\tapt-get update && \\
2280-
\tapt-get install -y git curl sudo`;
2280+
\tapt-get install -y git curl`;
22812281
shell = "/bin/bash";
22822282
} else {
2283-
packageManager = "apk update && apk add bash git curl sudo";
2283+
packageManager = "apk update && apk add bash git curl";
22842284
}
22852285
return; // Don't include this in env vars
22862286
}
@@ -2338,7 +2338,7 @@ ${envVarsFormatted}
23382338
: ' && \\\n useradd -ms /bin/bash -u 1000 username && \\\n echo "username ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/username'
23392339
: "";
23402340

2341-
// Package manager commands - run as root initially, no sudo needed
2341+
// Package manager commands - add sudo only when running as username
23422342
if (dockerUser === "username") {
23432343
if (baseImage.includes("ubuntu") || baseImage.includes("debian")) {
23442344
packageManager = `LANG="C.UTF-8" \\
@@ -2405,7 +2405,7 @@ ${envVarsFormatted}
24052405

24062406
const envVars: string[] = [];
24072407
let baseImage = "alpine:edge";
2408-
let packageManager = "apk update && \\\n apk add bash git curl sudo";
2408+
let packageManager = "apk update && \\\n apk add bash git curl";
24092409
let exposedPort = "8080";
24102410
let dockerUser = "root";
24112411

@@ -2420,9 +2420,9 @@ ${envVarsFormatted}
24202420
// Set appropriate package manager based on distro
24212421
if (baseImage.includes("ubuntu") || baseImage.includes("debian")) {
24222422
packageManager =
2423-
"apt-get update && \\\n apt-get install -y git curl sudo";
2423+
"apt-get update && \\\n apt-get install -y git curl";
24242424
} else {
2425-
packageManager = "apk update && \\\n apk add bash git curl sudo";
2425+
packageManager = "apk update && \\\n apk add bash git curl";
24262426
}
24272427
return; // Don't include this in env vars
24282428
}
@@ -2500,6 +2500,15 @@ RUN useradd -ms /bin/bash -u 1000 username && \\
25002500

25012501
const workDir = dockerUser === "username" ? "/home/username" : "/root";
25022502

2503+
// Add sudo to package manager if using non-root user
2504+
if (dockerUser === "username") {
2505+
if (baseImage.includes("ubuntu") || baseImage.includes("debian")) {
2506+
packageManager = packageManager.replace("git curl", "git curl sudo");
2507+
} else {
2508+
packageManager = packageManager.replace("git curl", "git curl sudo");
2509+
}
2510+
}
2511+
25032512
const baseDockerfile = `FROM ${baseImage}
25042513

25052514
${debianEnvs}# Install dependencies

0 commit comments

Comments
 (0)