add jupyter notebook (#59)
parent
d9d646098e
commit
5e805fef02
Binary file not shown.
After Width: | Height: | Size: 654 KiB |
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
display_name: Jupyter Notebook
|
||||||
|
description: A module that adds Jupyter Notebook in your Coder template.
|
||||||
|
icon: ../.icons/jupyter.svg
|
||||||
|
maintainer_github: coder
|
||||||
|
verified: true
|
||||||
|
tags: [jupyter, helper, ide, web]
|
||||||
|
---
|
||||||
|
|
||||||
|
# Jupyter Notebook
|
||||||
|
|
||||||
|
A module that adds Jupyter Notebook in your Coder template.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
```hcl
|
||||||
|
module "jupyter-notebook" {
|
||||||
|
source = "https://registry.coder.com/modules/jupyter-notebook"
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
}
|
||||||
|
```
|
@ -0,0 +1,49 @@
|
|||||||
|
terraform {
|
||||||
|
required_version = ">= 1.0"
|
||||||
|
|
||||||
|
required_providers {
|
||||||
|
coder = {
|
||||||
|
source = "coder/coder"
|
||||||
|
version = ">= 0.12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add required variables for your modules and remove any unneeded variables
|
||||||
|
variable "agent_id" {
|
||||||
|
type = string
|
||||||
|
description = "The ID of a Coder agent."
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "log_path" {
|
||||||
|
type = string
|
||||||
|
description = "The path to log jupyter notebook to."
|
||||||
|
default = "/tmp/jupyter-notebook.log"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "port" {
|
||||||
|
type = number
|
||||||
|
description = "The port to run jupyter-notebook on."
|
||||||
|
default = 19999
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_script" "jupyter-notebook" {
|
||||||
|
agent_id = var.agent_id
|
||||||
|
display_name = "jupyter-notebook"
|
||||||
|
icon = "/icon/jupyter.svg"
|
||||||
|
script = templatefile("${path.module}/run.sh", {
|
||||||
|
LOG_PATH : var.log_path,
|
||||||
|
PORT : var.port
|
||||||
|
})
|
||||||
|
run_on_start = true
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_app" "jupyter-notebook" {
|
||||||
|
agent_id = var.agent_id
|
||||||
|
slug = "jupyter-notebook"
|
||||||
|
display_name = "Jupyter Notebook"
|
||||||
|
url = "http://localhost:${var.port}"
|
||||||
|
icon = "/icon/jupyter.svg"
|
||||||
|
subdomain = true
|
||||||
|
share = "owner"
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
BOLD='\033[0;1m'
|
||||||
|
|
||||||
|
printf "$${BOLD}Installing jupyter-notebook!\n"
|
||||||
|
|
||||||
|
# check if jupyter-notebook is installed
|
||||||
|
if ! command -v jupyter-notebook >/dev/null 2>&1; then
|
||||||
|
# install jupyter-notebook
|
||||||
|
# check if python3 pip is installed
|
||||||
|
if ! command -v pip3 >/dev/null 2>&1; then
|
||||||
|
echo "pip3 is not installed"
|
||||||
|
echo "Please install pip3 in your Dockerfile/VM image before running this script"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# install jupyter-notebook
|
||||||
|
pip3 install --upgrade --no-cache-dir --no-warn-script-location jupyter
|
||||||
|
echo "🥳 jupyter-notebook has been installed\n\n"
|
||||||
|
else
|
||||||
|
echo "🥳 jupyter-notebook is already installed\n\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "👷 Starting jupyter-notebook in background..."
|
||||||
|
echo "check logs at ${LOG_PATH}"
|
||||||
|
$HOME/.local/bin/jupyter notebook --NotebookApp.ip='0.0.0.0' --ServerApp.port=${PORT} --no-browser --ServerApp.token='' --ServerApp.password='' >${LOG_PATH} 2>&1 &
|
Loading…
Reference in New Issue