Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix(.devcontainer): add home volume and fix code-server and filebrowser#18648

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
mafredri wants to merge5 commits intomain
base:main
Choose a base branch
Loading
frommafredri/fix-devcontainer-improvements
Open
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 29 additions & 4 deletions.devcontainer/devcontainer.json
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -2,15 +2,16 @@
"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"
},
"ghcr.io/coder/devcontainer-features/code-server:1": {
"auth": "none",
"port": 13337
},
"./filebrowser": {}
"./filebrowser": {
"folder": "${containerWorkspaceFolder}"
}
},
// SYS_PTRACE to enable go debugging
"runArgs": ["--cap-add=SYS_PTRACE"],
Expand DownExpand Up@@ -43,15 +44,39 @@
"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": [
// 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,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"
],
"postCreateCommand": "./.devcontainer/postCreateCommand.sh",
"postStartCommand":"sudo service docker start"
"postCreateCommand":["./.devcontainer/scripts/post_create.sh"],
"postStartCommand":["./.devcontainer/scripts/post_start.sh"]
}
22 changes: 9 additions & 13 deletions.devcontainer/filebrowser/devcontainer-feature.json
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -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",
Expand All@@ -41,7 +37,7 @@
"healthcheck": {
"url": "http://localhost:${localEnv:FEATURE_FILEBROWSER_OPTION_PORT:13339}/health",
"interval": 5,
"threshold":6
"threshold":2
}
}
]
Expand Down
36 changes: 13 additions & 23 deletions.devcontainer/filebrowser/install.sh
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -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 <<EOF
#!/bin/bash

printf "🛠️ Configuring filebrowser\n\n"
#!/usr/bin/env bash

AUTH="${AUTH}"
PORT="${PORT}"
FOLDER="$(pwd)"
FOLDER="${FOLDER:-}"
FOLDER="\${FOLDER:-\$(pwd)}"
BASEURL="${BASEURL:-}"
LOG_PATH=/tmp/filebrowser.log
export FB_DATABASE="/tmp/filebrowser.db"
export FB_DATABASE="\${HOME}/.filebrowser.db"

printf "🛠️ Configuring filebrowser\n\n"

# Check if filebrowser db exists.
if [[ ! -f "\${FB_DATABASE}" ]]; then
filebrowser config init
if [[ "\$AUTH" == "password" ]]; then
filebrowser users add admin admin --perm.admin=true --viewMode=mosaic
fi
fi

# Configure filebrowser.
if [[ "\$AUTH" == "none" ]]; then
filebrowser config set --port="\${PORT}" --auth.method=noauth --root="\${FOLDER}"
else
filebrowser config set --port="\${PORT}" --auth.method=json --root="\${FOLDER}"
filebrowser config init >>\${LOG_PATH} 2>&1
filebrowser users add admin "" --perm.admin=true --viewMode=mosaic >>\${LOG_PATH} 2>&1
fi

set -euo pipefail
filebrowser configset --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 &
Expand All@@ -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"
File renamed without changes.
4 changes: 4 additions & 0 deletions.devcontainer/scripts/post_start.sh
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
#!/bin/sh

# Start Docker service if not already running.
sudo service docker start
Loading

[8]ページ先頭

©2009-2025 Movatter.jp