From dcf5d7c08ae96b5c274cc35e4a2f98d42ef4085d Mon Sep 17 00:00:00 2001 From: Ian Date: Thu, 1 Oct 2026 22:46:36 +0200 Subject: [PATCH] feat: add npm modules host folder and removed shh host link --- dev.sh | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/dev.sh b/dev.sh index 1a13c40..93a93e9 100755 --- a/dev.sh +++ b/dev.sh @@ -2,7 +2,6 @@ set -euo pipefail SCRIPT_DIR=$(realpath -- "$(dirname -- "${BASH_SOURCE[0]}")") -echo "Script dir: ${SCRIPT_DIR}" BASE_DIR="${OPENCODE_DEV_HOME:-$HOME/opencode-dev}" IMAGE_REPO="${IMAGE_REPO:-localhost/opencode-dev}" @@ -16,6 +15,7 @@ OPC_CONFIG="${OPENCODE_CONFIG:-$BASE_DIR/opencode-config}" OPC_DATA="${OPENCODE_SHARE_DATA:-$BASE_DIR/opencode-data}" OPC_CACHE="${OPENCODE_CACHE:-$BASE_DIR/opencode-cache}" M2_FOLDER="${M2_FOLDER:-$BASE_DIR/m2}" +NPM_MODULES="${NPM_MODULES:-$BASE_DIR/npm-modules}" NPM_CACHE="${NPM_CACHE:-$BASE_DIR/npm-cache}" PIP_CACHE="${PIP_CACHE:-$BASE_DIR/pip-cache}" CERTIFICATES="${CERTIFICATES:-$BASE_DIR/certs}" @@ -28,13 +28,12 @@ mkdir -p \ "$OPC_DATA" \ "$OPC_CACHE" \ "$M2_FOLDER" \ + "$NPM_MODULES" \ "$NPM_CACHE" \ "$PIP_CACHE" \ "$CERTIFICATES" \ "$BASH_FOLDER" -# chmod -R 777 "$BASE_DIR" - if [[ ! -f "$HOME/.gitconfig" ]]; then echo "WARNING: $HOME/.gitconfig does not exist; Git will use container defaults." >&2 fi @@ -64,12 +63,12 @@ if [[ ! -d "$PROJECTS_DIR" ]]; then exit 1 fi +# --security-opt=no-new-privileges ARGS=( run --rm -it --name opencode-dev --user dev --userns=keep-id - --security-opt=no-new-privileges --network=default --tz=local -e "HOST_LANG=${LANG:-C.UTF-8}" @@ -85,17 +84,17 @@ ARGS=( -v "$CERTIFICATES:/host-certs:ro" -v "$PROJECTS_DIR:/workspace:rw" -v "$HOME/.gitconfig:/home/dev/.gitconfig:ro" - -v "$HOME/.ssh:/home/dev/.ssh:ro" + # -v "$HOME/.ssh:/home/dev/.ssh:ro" -v "$BASH_FOLDER:/host-bash:ro" -v "$SCRIPT_DIR/entrypoint.sh:/usr/local/bin/opencode-dev-entrypoint:ro" ) -if [[ -n "${SSH_AUTH_SOCK:-}" && -S "$SSH_AUTH_SOCK" ]]; then - ARGS+=( - -e SSH_AUTH_SOCK=/tmp/ssh-agent.sock - -v "$SSH_AUTH_SOCK:/tmp/ssh-agent.sock" - ) -fi +# if [[ -n "${SSH_AUTH_SOCK:-}" && -S "$SSH_AUTH_SOCK" ]]; then +# ARGS+=( +# -e SSH_AUTH_SOCK=/tmp/ssh-agent.sock +# -v "$SSH_AUTH_SOCK:/tmp/ssh-agent.sock" +# ) +# fi # Additional bind mounts: # ./dev.sh /project --mount "$HOME/other:/extra" @@ -113,12 +112,4 @@ while (($#)); do esac done -# Load user Bash configuration after the image defaults, without persisting history. -BASH_RC="${BASE_DIR}/bash/bashrc" -if [[ -f "$BASH_RC" ]]; then - ARGS+=(-e BASH_ENV=/host-bash/bashrc) -fi - -echo "Calling with args: ${ARGS[@]}" - exec podman "${ARGS[@]}" "$IMAGE" bash