From 2716ab875e1ffd9a7617817f950f3c03566881f2 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Fri, 27 Jun 2025 16:37:54 +0000 Subject: [PATCH 1/5] fix(.devcontainer): fix code-server app URL, healthcheck and order, add home volume --- .devcontainer/devcontainer.json | 22 +++++++++++++++++++ .../filebrowser/devcontainer-feature.json | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d88d947d962c5..49dbd26c1cd36 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -43,11 +43,33 @@ "external": true, "icon": "/icon/zed.svg", "order": 5 + }, + // Reproduce `code-server` app here from the code-server + // feature so that we can set the correct folder and order. + // Currently, the order cannot be specified via option because + // we parse it as a number whereas variable interpolation + // results in a string. Additionally we set health check which + // is not yet set in the feature. + { + "slug": "code-server", + "displayName": "code-server", + "url": "http://${localEnv:FEATURE_CODE_SERVER_OPTION_HOST:127.0.0.1}:${localEnv:FEATURE_CODE_SERVER_OPTION_PORT:8080}/?folder=${containerWorkspaceFolder}", + "openIn": "${localEnv:FEATURE_CODE_SERVER_OPTION_APPOPENIN:slim-window}", + "share": "${localEnv:FEATURE_CODE_SERVER_OPTION_APPSHARE:owner}", + "icon": "/icon/code.svg", + "group": "${localEnv:FEATURE_CODE_SERVER_OPTION_APPGROUP:Web Editors}", + "order": 3, + "healthCheck": { + "url": "http://${localEnv:FEATURE_CODE_SERVER_OPTION_HOST:127.0.0.1}:${localEnv:FEATURE_CODE_SERVER_OPTION_PORT:8080}/healthz", + "interval": 5, + "threshold": 2 + } } ] } }, "mounts": [ + "source=coder-coder-devcontainer-home,target=/home/coder", // Mount the entire home because conditional mounts are not supported. // See: https://github.com/devcontainers/spec/issues/132 "source=${localEnv:HOME},target=/mnt/home/coder,type=bind,readonly" diff --git a/.devcontainer/filebrowser/devcontainer-feature.json b/.devcontainer/filebrowser/devcontainer-feature.json index 3829139cf3143..f0c873831f899 100644 --- a/.devcontainer/filebrowser/devcontainer-feature.json +++ b/.devcontainer/filebrowser/devcontainer-feature.json @@ -41,7 +41,7 @@ "healthcheck": { "url": "http://localhost:${localEnv:FEATURE_FILEBROWSER_OPTION_PORT:13339}/health", "interval": 5, - "threshold": 6 + "threshold": 2 } } ] From 47a2245ae1b81af2e4381bf98aeba95511771a94 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Fri, 27 Jun 2025 16:47:20 +0000 Subject: [PATCH 2/5] comment --- .devcontainer/devcontainer.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 49dbd26c1cd36..0deda9a9c66bc 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -69,6 +69,8 @@ } }, "mounts": [ + // Add a volume for the Coder home directory to persist shell history, + // and speed up dotfiles init and/or personalization. "source=coder-coder-devcontainer-home,target=/home/coder", // Mount the entire home because conditional mounts are not supported. // See: https://github.com/devcontainers/spec/issues/132 From 6a2456568034f4c68edf3d7ab4bea5f083d8ecab Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Fri, 27 Jun 2025 17:08:18 +0000 Subject: [PATCH 3/5] explicit type --- .devcontainer/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 0deda9a9c66bc..0e4d428b9e5ae 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -71,7 +71,7 @@ "mounts": [ // Add a volume for the Coder home directory to persist shell history, // and speed up dotfiles init and/or personalization. - "source=coder-coder-devcontainer-home,target=/home/coder", + "source=coder-coder-devcontainer-home,target=/home/coder,type=volume", // Mount the entire home because conditional mounts are not supported. // See: https://github.com/devcontainers/spec/issues/132 "source=${localEnv:HOME},target=/mnt/home/coder,type=bind,readonly" From e3de0d9ae7ae80bafb62bc81e47e20e16614007f Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Fri, 27 Jun 2025 17:15:51 +0000 Subject: [PATCH 4/5] clean up scripts --- .devcontainer/devcontainer.json | 4 ++-- .../{postCreateCommand.sh => scripts/post_create.sh} | 0 .devcontainer/scripts/post_start.sh | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) rename .devcontainer/{postCreateCommand.sh => scripts/post_create.sh} (100%) create mode 100755 .devcontainer/scripts/post_start.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 0e4d428b9e5ae..3cf381eaad7a7 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -76,6 +76,6 @@ // See: https://github.com/devcontainers/spec/issues/132 "source=${localEnv:HOME},target=/mnt/home/coder,type=bind,readonly" ], - "postCreateCommand": "./.devcontainer/postCreateCommand.sh", - "postStartCommand": "sudo service docker start" + "postCreateCommand": ["./.devcontainer/scripts/post_create.sh"], + "postStartCommand": ["./.devcontainer/scripts/post_start.sh"] } diff --git a/.devcontainer/postCreateCommand.sh b/.devcontainer/scripts/post_create.sh similarity index 100% rename from .devcontainer/postCreateCommand.sh rename to .devcontainer/scripts/post_create.sh diff --git a/.devcontainer/scripts/post_start.sh b/.devcontainer/scripts/post_start.sh new file mode 100755 index 0000000000000..c98674037d353 --- /dev/null +++ b/.devcontainer/scripts/post_start.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +# Start Docker service if not already running. +sudo service docker start From dbf7d71993259c0cf03ed21c822de211886c1641 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Fri, 27 Jun 2025 17:40:27 +0000 Subject: [PATCH 5/5] fix filebrowser --- .devcontainer/devcontainer.json | 5 +-- .../filebrowser/devcontainer-feature.json | 20 +++++------ .devcontainer/filebrowser/install.sh | 36 +++++++------------ 3 files changed, 24 insertions(+), 37 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 3cf381eaad7a7..06b6192b7cdb4 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,6 @@ "name": "Development environments on your infrastructure", "image": "codercom/oss-dogfood:latest", "features": { - // See all possible options here https://github.com/devcontainers/features/tree/main/src/docker-in-docker "ghcr.io/devcontainers/features/docker-in-docker:2": { "moby": "false" }, @@ -10,7 +9,9 @@ "auth": "none", "port": 13337 }, - "./filebrowser": {} + "./filebrowser": { + "folder": "${containerWorkspaceFolder}" + } }, // SYS_PTRACE to enable go debugging "runArgs": ["--cap-add=SYS_PTRACE"], diff --git a/.devcontainer/filebrowser/devcontainer-feature.json b/.devcontainer/filebrowser/devcontainer-feature.json index f0c873831f899..c7a55a0d8a14e 100644 --- a/.devcontainer/filebrowser/devcontainer-feature.json +++ b/.devcontainer/filebrowser/devcontainer-feature.json @@ -9,19 +9,15 @@ "default": "13339", "description": "The port to run filebrowser on" }, - // "folder": { - // "type": "string", - // "default": "${containerWorkspaceFolder}", - // "description": "The root directory for filebrowser to serve" - // }, - "auth": { + "folder": { "type": "string", - "enum": [ - "none", - "password" - ], - "default": "none", - "description": "Authentication method (none or password)" + "default": "", + "description": "The root directory for filebrowser to serve" + }, + "baseUrl": { + "type": "string", + "default": "", + "description": "The base URL for filebrowser (e.g., /filebrowser)" } }, "entrypoint": "/usr/local/bin/filebrowser-entrypoint", diff --git a/.devcontainer/filebrowser/install.sh b/.devcontainer/filebrowser/install.sh index 1f8390f63864c..48158a38cd782 100644 --- a/.devcontainer/filebrowser/install.sh +++ b/.devcontainer/filebrowser/install.sh @@ -11,38 +11,29 @@ if ! command -v filebrowser &>/dev/null; then curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash fi -printf "🥳 Installation complete!\n\n" - -# Create run script. +# Create entrypoint. cat >/usr/local/bin/filebrowser-entrypoint <>\${LOG_PATH} 2>&1 + filebrowser users add admin "" --perm.admin=true --viewMode=mosaic >>\${LOG_PATH} 2>&1 fi -set -euo pipefail +filebrowser config set --baseurl=\${BASEURL} --port=\${PORT} --auth.method=noauth --root=\${FOLDER} >>\${LOG_PATH} 2>&1 printf "👷 Starting filebrowser...\n\n" + printf "📂 Serving \${FOLDER} at http://localhost:\${PORT}\n\n" filebrowser >>\${LOG_PATH} 2>&1 & @@ -52,5 +43,4 @@ EOF chmod +x /usr/local/bin/filebrowser-entrypoint -printf "✅ File Browser installed!\n\n" -printf "🚀 Run 'filebrowser-entrypoint' to start the service\n\n" +printf "🥳 Installation complete!\n\n" pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy