mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-08-11 13:12:18 +00:00
feat(dev):add init env script
This commit is contained in:
parent
69b71a8cac
commit
599ebff278
@ -10,7 +10,7 @@
|
|||||||
"--no-cache"
|
"--no-cache"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"initializeCommand": ".devcontainer/get_env.sh",
|
"initializeCommand": ".devcontainer/init_env.sh",
|
||||||
"name": "dbgpt",
|
"name": "dbgpt",
|
||||||
"workspaceFolder": "/app",
|
"workspaceFolder": "/app",
|
||||||
"workspaceMount": "source=${localWorkspaceFolder},target=/app,type=bind",
|
"workspaceMount": "source=${localWorkspaceFolder},target=/app,type=bind",
|
||||||
@ -41,7 +41,7 @@
|
|||||||
"source=${localEnv:SSH_AUTH_SOCK},target=/run/host-services/ssh-auth.sock,type=bind",
|
"source=${localEnv:SSH_AUTH_SOCK},target=/run/host-services/ssh-auth.sock,type=bind",
|
||||||
// mount to local models
|
// mount to local models
|
||||||
// Persist the model to avoid redundant downloads.
|
// Persist the model to avoid redundant downloads.
|
||||||
"source=${localWorkspaceFolder}/models/text2vec-large-chinese,target=/app/models/text2vec-large-chinese,type=bind"
|
"source=${localWorkspaceFolder}/models,target=/app/models,type=bind"
|
||||||
],
|
],
|
||||||
"containerEnv": {
|
"containerEnv": {
|
||||||
"SSH_AUTH_SOCK": "/run/host-services/ssh-auth.sock"
|
"SSH_AUTH_SOCK": "/run/host-services/ssh-auth.sock"
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
OS=$(uname -s)
|
|
||||||
USERNAME="$USER"
|
|
||||||
USER_UID=$(id -u "$USER")
|
|
||||||
|
|
||||||
if [ "$OS" = "Linux" ]; then
|
|
||||||
GROUPNAME=$(id -gn "$USER")
|
|
||||||
USER_GID=$(id -g "$USER")
|
|
||||||
else
|
|
||||||
GROUPNAME="root"
|
|
||||||
USER_GID="0"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
printf "OS=%s\nUSERNAME=%s\nUSER_UID=%s\nGROUPNAME=%s\nUSER_GID=%s\n" \
|
|
||||||
"$OS" \
|
|
||||||
"$USERNAME" \
|
|
||||||
"$USER_UID" \
|
|
||||||
"$GROUPNAME" \
|
|
||||||
"$USER_GID" > .devcontainer/.env
|
|
54
.devcontainer/init_env.sh
Executable file
54
.devcontainer/init_env.sh
Executable file
@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
OS=$(uname -s)
|
||||||
|
USERNAME="$USER"
|
||||||
|
USER_UID=$(id -u "$USER")
|
||||||
|
|
||||||
|
if [ "$OS" = "Linux" ]; then
|
||||||
|
GROUPNAME=$(id -gn "$USER")
|
||||||
|
USER_GID=$(id -g "$USER")
|
||||||
|
else
|
||||||
|
GROUPNAME="root"
|
||||||
|
USER_GID="0"
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf "OS=%s\nUSERNAME=%s\nUSER_UID=%s\nGROUPNAME=%s\nUSER_GID=%s\n" \
|
||||||
|
"$OS" \
|
||||||
|
"$USERNAME" \
|
||||||
|
"$USER_UID" \
|
||||||
|
"$GROUPNAME" \
|
||||||
|
"$USER_GID" > .devcontainer/.env
|
||||||
|
|
||||||
|
# sharing-git-credentials see https://code.visualstudio.com/remote/advancedcontainers/sharing-git-credentials
|
||||||
|
init_ssh_agent(){
|
||||||
|
# Define code block to insert (with unique identifier comment)
|
||||||
|
SSH_AGENT_CODE='# SSH Agent Auto Management[ID:ssh_agent_v1]
|
||||||
|
if [ -z "$SSH_AUTH_SOCK" ]; then
|
||||||
|
RUNNING_AGENT="$(ps -ax | grep '\''ssh-agent -s'\'' | grep -v grep | wc -l | tr -d '\''[:space:]'\'')"
|
||||||
|
if [ "$RUNNING_AGENT" = "0" ]; then
|
||||||
|
ssh-agent -s &> $HOME/.ssh/ssh-agent
|
||||||
|
fi
|
||||||
|
eval $(cat $HOME/.ssh/ssh-agent) > /dev/null
|
||||||
|
ssh-add 2> /dev/null
|
||||||
|
fi
|
||||||
|
# END_SSH_AGENT_CODE'
|
||||||
|
|
||||||
|
# Auto detect shell type
|
||||||
|
TARGET_FILE="$HOME/.bashrc"
|
||||||
|
if [[ "$SHELL" == *"zsh"* ]]; then
|
||||||
|
TARGET_FILE="$HOME/.zshrc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create .ssh directory if not exists
|
||||||
|
mkdir -p "$HOME/.ssh"
|
||||||
|
|
||||||
|
# Check for existing code block
|
||||||
|
if ! grep -q 'END_SSH_AGENT_CODE' "$TARGET_FILE"; then
|
||||||
|
echo "Adding SSH agent management code to ${TARGET_FILE}..."
|
||||||
|
echo "$SSH_AGENT_CODE" >> "$TARGET_FILE"
|
||||||
|
echo "Code added successfully. Please run source ${TARGET_FILE} to apply changes immediately"
|
||||||
|
else
|
||||||
|
echo "Existing SSH agent code detected, no need to add again"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
init_ssh_agent
|
||||||
|
mkdir -p models
|
Loading…
Reference in New Issue
Block a user