Browse Source

Add code-server app

master-prepare
Luke Childs 4 years ago
parent
commit
14f8b3aec8
  1. 1
      apps/code-server/data/.bashrc
  2. 41
      apps/code-server/data/.loaders/init.sh
  3. 15
      apps/code-server/docker-compose.yml
  4. 22
      apps/registry.json
  5. 4
      scripts/configure
  6. 2
      templates/.env-sample
  7. 4
      templates/torrc-sample

1
apps/code-server/data/.bashrc

@ -0,0 +1 @@
source "${HOME}/.loaders/init.sh"

41
apps/code-server/data/.loaders/init.sh

@ -0,0 +1,41 @@
lazy_load() {
local command="${1}"
local loader="${2}"
local arguments=${@:3}
if ! which $command > /dev/null 2>&1
then
echo "${command} isn't installed yet, installing it now..."
$loader
echo "${command} installed! Running \"${command} ${arguments}\"..."
echo
fi
$command $arguments
}
setup_node() {
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
source "${HOME}/.nvm/nvm.sh"
source "${HOME}/.nvm/bash_completion"
nvm install stable
}
setup_python() {
sudo apt-get update
sudo apt-get install -y python3 python3-pip
}
setup_rust() {
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "${HOME}/.cargo/env"
}
alias node="lazy_load node setup_node"
alias npm="lazy_load npm setup_node"
alias python3="lazy_load python3 setup_python"
alias pip3="lazy_load pip3 setup_python"
alias python="python3"
alias pip="pip3"
alias rustup="lazy_load rustup setup_rust"
alias rustc="lazy_load rustc setup_rust"
alias cargo="lazy_load cargo setup_rust"

15
apps/code-server/docker-compose.yml

@ -0,0 +1,15 @@
version: "3.7"
services:
server:
image: codercom/code-server:3.11.0@sha256:d712341c622b0ae896d8f5b8c02368e44e1f5a03b93cd0489f937352dfc7bab8
user: "1000:1000"
ports:
- "${APP_CODE_SERVER_PORT}:8080"
volumes:
- ${APP_DATA_DIR}/data:/home/coder
environment:
PASSWORD: "moneyprintergobrrr"
networks:
default:
ipv4_address: $APP_CODE_SERVER_IP

22
apps/registry.json

@ -87,6 +87,28 @@
"defaultPassword": "",
"torOnly": false
},
{
"id": "code-server",
"category": "Development",
"name": "code-server",
"version": "3.10.2",
"tagline": "Run VS Code on your Umbrel",
"description": "Run VS Code on your Umbrel and access it in the browser so you can code on any device with a consistent development environment. This way you can use your Umbrel not only to code from any device, anywhere, but to also speed up tests, compilations, downloads, and more.\n\nBy running all intensive tasks run on your Umbrel, preserve battery life of your devices when you're on the go.",
"developer": "Coder",
"website": "https://coder.com",
"dependencies": [],
"repo": "https://github.com/cdr/code-server",
"support": "https://github.com/cdr/code-server/discussions",
"port": 8091,
"gallery": [
"1.jpg",
"2.jpg",
"3.jpg"
],
"path": "",
"defaultPassword": "moneyprintergobrrr",
"torOnly": false
},
{
"id": "gitea",
"category": "Development",

4
scripts/configure

@ -182,6 +182,8 @@ APP_ELEMENT_IP="10.21.21.45"
APP_ELEMENT_PORT="8088"
APP_VAULTWARDEN_IP="10.21.21.46"
APP_VAULTWARDEN_PORT="8089"
APP_CODE_SERVER_IP="10.21.21.53"
APP_CODE_SERVER_PORT="8091"
# Generate RPC credentials
if [[ -z ${BITCOIN_RPC_USER+x} ]] || [[ -z ${BITCOIN_RPC_PASS+x} ]] || [[ -z ${BITCOIN_RPC_AUTH+x} ]]; then
@ -369,6 +371,8 @@ for template in "${NGINX_CONF_FILE}" "${BITCOIN_CONF_FILE}" "${LND_CONF_FILE}" "
sed -i "s/<app-element-port>/${APP_ELEMENT_PORT}/g" "${template}"
sed -i "s/<app-vaultwarden-ip>/${APP_VAULTWARDEN_IP}/g" "${template}"
sed -i "s/<app-vaultwarden-port>/${APP_VAULTWARDEN_PORT}/g" "${template}"
sed -i "s/<app-code-server-ip>/${APP_CODE_SERVER_IP}/g" "${template}"
sed -i "s/<app-code-server-port>/${APP_CODE_SERVER_PORT}/g" "${template}"
done
##########################################################

2
templates/.env-sample

@ -85,3 +85,5 @@ APP_ELEMENT_IP=<app-element-ip>
APP_ELEMENT_PORT=<app-element-port>
APP_VAULTWARDEN_IP=<app-vaultwarden-ip>
APP_VAULTWARDEN_PORT=<app-vaultwarden-port>
APP_CODE_SERVER_IP=<app-code-server-ip>
APP_CODE_SERVER_PORT=<app-code-server-port>

4
templates/torrc-sample

@ -123,4 +123,8 @@ HiddenServicePort 80 <app-element-ip>:80
HiddenServiceDir /var/lib/tor/app-vaultwarden
HiddenServicePort 80 <app-vaultwarden-ip>:<app-vaultwarden-port>
# code-server Hidden Service
HiddenServiceDir /var/lib/tor/app-code-server
HiddenServicePort 80 <app-code-server-ip>:8080
HashedControlPassword <password>

Loading…
Cancel
Save