mirror of
https://github.com/cheikh2shift/godex.git
synced 2026-10-19 01:29:53 -05:00
72 lines
2.8 KiB
Bash
Executable File
72 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
GITHUB_REPO="https://raw.githubusercontent.com/cheikh2shift/godex/main"
|
|
IMAGE_NAME="godex-sandbox:latest"
|
|
|
|
echo "GoDex Docker Sandbox Installer"
|
|
echo "=============================="
|
|
echo ""
|
|
|
|
INSTALL_DIR="${1:-$HOME/godex-docker}"
|
|
|
|
echo "Installing GoDex Docker tools to: $INSTALL_DIR"
|
|
echo ""
|
|
|
|
mkdir -p "$HOME/.godex"
|
|
|
|
mkdir -p "$INSTALL_DIR"
|
|
cd "$INSTALL_DIR"
|
|
|
|
echo "Downloading docker-compose.yml..."
|
|
curl -fsSL "${GITHUB_REPO}/docker-compose.yml" -o docker-compose.yml
|
|
|
|
echo "Downloading nginx.conf..."
|
|
curl -fsSL "${GITHUB_REPO}/nginx.conf" -o nginx.conf
|
|
|
|
echo "Downloading Dockerfile..."
|
|
curl -fsSL "${GITHUB_REPO}/Dockerfile" -o Dockerfile
|
|
|
|
echo ""
|
|
echo "Building Docker image (this may take a few minutes)..."
|
|
docker build -t "${IMAGE_NAME}" -f "${INSTALL_DIR}/Dockerfile" .
|
|
|
|
echo ""
|
|
echo "Setup complete!"
|
|
echo ""
|
|
echo "To run GoDex in your project directory:"
|
|
echo ""
|
|
DOLLAR='$'
|
|
printf ' USER_ID=%s{USER_ID:-%s(id -u)} GROUP_ID=%s{GROUP_ID:-%s(id -g)} WORKSPACE_DIR="%s{PWD}" docker compose -f %s{HOME}/godex-docker/docker-compose.yml up -d && docker attach godex && docker compose -f %s{HOME}/godex-docker/docker-compose.yml down\n' "$DOLLAR" "$DOLLAR" "$DOLLAR" "$DOLLAR" "$DOLLAR" "$DOLLAR" "$DOLLAR"
|
|
echo ""
|
|
echo " # Add this alias to ~/.bashrc or ~/.zshrc:"
|
|
printf ' alias godex='\''USER_ID=%s{USER_ID:-%s(id -u)} GROUP_ID=%s{GROUP_ID:-%s(id -g)} WORKSPACE_DIR="%s{PWD}" docker compose -f %s{HOME}/godex-docker/docker-compose.yml up -d && docker attach godex && docker compose -f %s{HOME}/godex-docker/docker-compose.yml down'\''\n' "$DOLLAR" "$DOLLAR" "$DOLLAR" "$DOLLAR" "$DOLLAR" "$DOLLAR" "$DOLLAR"
|
|
echo ""
|
|
echo " # Or add this function for clearer behavior:"
|
|
echo " godex() {"
|
|
printf ' USER_ID=%s{USER_ID:-%s(id -u)} GROUP_ID=%s{GROUP_ID:-%s(id -g)} WORKSPACE_DIR="%s{PWD}" docker compose -f %s{HOME}/godex-docker/docker-compose.yml up -d \\\n' "$DOLLAR" "$DOLLAR" "$DOLLAR" "$DOLLAR" "$DOLLAR" "$DOLLAR"
|
|
echo " && docker attach godex \\"
|
|
echo " && docker compose -f ${INSTALL_DIR}/docker-compose.yml down"
|
|
echo " }"
|
|
echo ""
|
|
echo " # Then run from any directory:"
|
|
echo " godex"
|
|
echo ""
|
|
echo "This will:"
|
|
echo " - Mount your current directory as the working directory"
|
|
echo " - Store config in $HOME/.godex"
|
|
echo ""
|
|
echo "First run will prompt you to configure your LLM provider."
|
|
echo "If the screen looks empty after attaching, press any letter key to trigger TUI redraw."
|
|
echo "If Ollama runs on the host, it must listen on 0.0.0.0:11434 for the proxy to reach it."
|
|
echo "Optional: snippet (README section):"
|
|
echo " https://github.com/cheikh2shift/godex#ollama-host-firewall-optional"
|
|
echo ""
|
|
echo "Edit provider config stored in $HOME/.godex:"
|
|
echo " nano $HOME/.godex/providers.yaml"
|
|
echo " vi $HOME/.godex/providers.yaml"
|
|
echo " vim $HOME/.godex/providers.yaml"
|
|
echo ""
|
|
echo -e "\033[0;32mInstall complete.\033[0m"
|