mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-08-01 16:18:27 +00:00
feat(dev):add init env script
This commit is contained in:
parent
69b71a8cac
commit
599ebff278
@ -10,7 +10,7 @@
|
||||
"--no-cache"
|
||||
]
|
||||
},
|
||||
"initializeCommand": ".devcontainer/get_env.sh",
|
||||
"initializeCommand": ".devcontainer/init_env.sh",
|
||||
"name": "dbgpt",
|
||||
"workspaceFolder": "/app",
|
||||
"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",
|
||||
// mount to local models
|
||||
// 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": {
|
||||
"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