Merge branch 'main' into jupyterlab-subdomain-1

pull/316/head
framctr 9 months ago committed by GitHub
commit 6936e8e027
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -9,6 +9,9 @@ terraform {
} }
} }
data "coder_workspace" "me" {}
data "coder_workspace_owner" "me" {}
# Add required variables for your modules and remove any unneeded variables # Add required variables for your modules and remove any unneeded variables
variable "agent_id" { variable "agent_id" {
type = string type = string
@ -36,6 +39,12 @@ variable "share" {
} }
} }
variable "subdomain" {
type = bool
description = "Determines whether JupyterLab will be accessed via it's own subdomain or whether it will be accessed via a path on Coder."
default = true
}
variable "order" { variable "order" {
type = number type = number
description = "The order determines the position of app in the UI presentation. The lowest order is shown first and apps with equal order are sorted by name (ascending order)." description = "The order determines the position of app in the UI presentation. The lowest order is shown first and apps with equal order are sorted by name (ascending order)."
@ -49,17 +58,26 @@ resource "coder_script" "jupyterlab" {
script = templatefile("${path.module}/run.sh", { script = templatefile("${path.module}/run.sh", {
LOG_PATH : var.log_path, LOG_PATH : var.log_path,
PORT : var.port PORT : var.port
BASE_URL : var.subdomain ? "http://localhost:${var.port}/@${data.coder_workspace_owner.me.name}/${data.coder_workspace.me.name}/apps/jupyterlab" : ""
}) })
run_on_start = true run_on_start = true
} }
resource "coder_app" "jupyterlab" { resource "coder_app" "jupyterlab" {
agent_id = var.agent_id agent_id = var.agent_id
slug = "jupyterlab" slug = "jupyterlab" # sync with with end of subdomain URL
display_name = "JupyterLab" display_name = "JupyterLab"
url = "http://localhost:${var.port}" url = var.subdomain ? "http://localhost:${var.port}/@${data.coder_workspace_owner.me.name}/${data.coder_workspace.me.name}/apps/jupyterlab" : "http://localhost:${var.port}"
icon = "/icon/jupyter.svg" icon = "/icon/jupyter.svg"
subdomain = true subdomain = var.subdomain
share = var.share share = var.share
order = var.order order = var.order
}
dynamic "healthcheck" {
for_each = var.subdomain ? toset([true]) : toset([])
content {
url = "http://localhost:${var.port}/@${data.coder_workspace_owner.me.name}/${data.coder_workspace.me.name}/apps/jupyterlab"
interval = 6
threshold = 10
}
}

@ -2,7 +2,7 @@
if [ -n "$BASE_URL" ] if [ -n "$BASE_URL" ]
then then
BASE_URL="ServerApp.base_url=${BASE_URL}" BASE_URL="--ServerApp.base_url=${BASE_URL}"
fi fi
BOLD='\033[0;1m' BOLD='\033[0;1m'
@ -28,7 +28,7 @@ fi
echo "👷 Starting jupyterlab in background..." echo "👷 Starting jupyterlab in background..."
echo "check logs at ${LOG_PATH}" echo "check logs at ${LOG_PATH}"
$HOME/.local/bin/jupyter-lab --no-browser \ $HOME/.local/bin/jupyter-lab --no-browser \
--ServerApp.base_url="${BASE_URL}" \ "$BASE_URL" \
--ServerApp.ip='*' \ --ServerApp.ip='*' \
--ServerApp.port="${PORT}" \ --ServerApp.port="${PORT}" \
--ServerApp.token='' \ --ServerApp.token='' \

Loading…
Cancel
Save