Last active
February 4, 2025 23:41
-
-
Save memphisraynz/9b31d53ad1df8f384fd96e669380d280 to your computer and use it in GitHub Desktop.
vscode-server
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env bash | |
| # Copyright (c) 2021-2025 tteck | |
| # Author: tteck (tteckster) | |
| # License: MIT | |
| # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE | |
| function header_info { | |
| cat <<"EOF" | |
| ______ __ _____ | |
| / ____/___ ____/ /__ / ___/___ ______ _____ _____ | |
| / / / __ \/ __ / _ \ \__ \/ _ \/ ___/ | / / _ \/ ___/ | |
| / /___/ /_/ / /_/ / __/ ___/ / __/ / | |/ / __/ / | |
| \____/\____/\__,_/\___/ /____/\___/_/ |___/\___/_/ | |
| EOF | |
| } | |
| IP=$(hostname -I | awk '{print $1}') | |
| YW=$(echo "\033[33m") | |
| BL=$(echo "\033[36m") | |
| RD=$(echo "\033[01;31m") | |
| BGN=$(echo "\033[4;92m") | |
| GN=$(echo "\033[1;92m") | |
| DGN=$(echo "\033[32m") | |
| CL=$(echo "\033[m") | |
| BFR="\\r\\033[K" | |
| HOLD="-" | |
| CM="${GN}✓${CL}" | |
| APP="VS Code Server" | |
| hostname="$(hostname)" | |
| set -o errexit | |
| set -o errtrace | |
| set -o nounset | |
| set -o pipefail | |
| shopt -s expand_aliases | |
| alias die='EXIT=$? LINE=$LINENO error_exit' | |
| trap die ERR | |
| function error_exit() { | |
| trap - ERR | |
| local reason="Unknown failure occurred." | |
| local msg="${1:-$reason}" | |
| local flag="${RD}‼ ERROR ${CL}$EXIT@$LINE" | |
| echo -e "$flag $msg" 1>&2 | |
| exit $EXIT | |
| } | |
| clear | |
| header_info | |
| if command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Can't Install on Proxmox "; exit; fi | |
| if [ -e /etc/alpine-release ]; then echo -e "⚠️ Can't Install on Alpine"; exit; fi | |
| while true; do | |
| read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn | |
| case $yn in | |
| [Yy]*) break ;; | |
| [Nn]*) exit ;; | |
| *) echo "Please answer yes or no." ;; | |
| esac | |
| done | |
| function msg_info() { | |
| local msg="$1" | |
| echo -ne " ${HOLD} ${YW}${msg}..." | |
| } | |
| function msg_ok() { | |
| local msg="$1" | |
| echo -e "${BFR} ${CM} ${GN}${msg}${CL}" | |
| } | |
| msg_info "Installing Dependencies" | |
| apt-get update &>/dev/null | |
| apt-get install -y curl &>/dev/null | |
| apt-get install -y git &>/dev/null | |
| msg_ok "Installed Dependencies" | |
| msg_info "Installing VS Code Server" | |
| curl -fsSL https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-x64 --output vscode-cli.tar.gz &>/dev/null | |
| tar -xzf vscode-cli.tar.gz -C /usr/local/bin &>/dev/null | |
| rm -rf vscode-cli.tar.gz | |
| msg_ok "Installed VS Code Server" | |
| msg_info "Starting VS Code Server" | |
| code-server --host 0.0.0.0 --port 8680 --without-connection-token &>/dev/null & | |
| msg_ok "Started VS Code Server on $hostname" | |
| echo -e "${APP} should be reachable by going to the following URL. | |
| ${BL}http://$IP:8680${CL} \n" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment