Jupyter Notebook server which bundles a set of tools for Literate Computing for Reproducible Infrastructure. This bundle shows how to implement robust and reliable operational procedure rather than explorative procedure within Jupyter’s GUI.
The goals for Literate Computing tools are:
You can start the Notebook server on port 8888 with the following command.
docker run -it --rm -p 8888:8888 niicloudoperation/notebook
You can login the Notebook server with the authentication token in the startup message.
If you would like to use NBSearch, use Solr container like the following:
# Launch Solr
git clone https://github.com/NII-cloud-operation/nbsearch /tmp/nbsearch
docker run -d --name nbsearch-solr -v /tmp/nbsearch:/tmp/nbsearch --rm solr:8 \
bash -c "precreate-core jupyter-notebook /tmp/nbsearch/solr/jupyter-notebook/ && \
precreate-core jupyter-cell /tmp/nbsearch/solr/jupyter-cell/ && \
solr-foreground"
# Launch MinIO
docker run -d --rm -e MINIO_ACCESS_KEY=nbsearchak -e MINIO_SECRET_KEY=nbsearchsk \
--name nbsearch-minio minio/minio:latest server /data --compat
# Launch Notebook
docker run -it --rm --link nbsearch-solr:solr --link nbsearch-minio:minio \
-e NBSEARCHDB_SOLR_BASE_URL=http://solr:8983 -e NBSEARCHDB_S3_ENDPOINT_URL=http://minio:9000 \
-e NBSEARCHDB_S3_ACCESS_KEY=nbsearchak -e NBSEARCHDB_S3_SECRET_KEY=nbsearchsk \
-p 8888:8888 niicloudoperation/notebook
To enable the NBSearch extension, refer 03_Notebookの検索.ipynb in the container.
You may customize the execution of Docker container and the Notebook server contained with the following optional arguments.
-e lc_wrapper_force=on - Force summarizing mode of lc_wrapper (via env)-e TZ=JST-9 - Specify the container timezone-e PASSWORD=MY_UNBREAKABLE_PASS - Set a initial password-v /some/host/folder/for/work:/home/jovyan - Mounts the host directory to the working directory in the containerYou can use sidestickies by either of the following steps.
Using Scrapbox https://scrapbox.io/:
-e SIDESTICKIES_SCRAPBOX_PROJECT_ID=value -e SIDESTICKIES_SCRAPBOX_COOKIE_CONNECT_SID=value to docker options - Specify Scrapbox account to sidestickies.Using ep_weave(Etherpad) https://github.com/NII-cloud-operation/ep_weave :
-e SIDESTICKIES_EP_WEAVE_URL=http://ep_weave:9001 -e SIDESTICKIES_EP_WEAVE_API_KEY=YOUR_ETHERPAD_APIKEY to docker options.You can use NBSearch by enabling the NBSearch extension via the Nbextensions tab.
After the page of Jupyter is reloaded, the NBSearch tab appears on the page of Jupyter.
NBSearch uses Solr and S3 Compatible Storage to store and search notebooks. You will be able to use NBSearch once you set up your Solr and S3 compatible storage configurations, set the following environment variables to the options.
-e NBSEARCHDB_SOLR_BASE_URL=your_solr_url - The base URL of Solr(default: http://localhost:8983)-e NBSEARCHDB_SOLR_BASIC_AUTH_USERNAME=your_solr_username, -e NBSEARCHDB_SOLR_BASIC_AUTH_PASSWORD=your_solr_password - The username and password for Solr(if needed)-e NBSEARCHDB_S3_ENDPOINT_URL=your_database_name - The URL of S3(default: http://localhost:9000)-e NBSEARCHDB_S3_ACCESS_KEY=your_s3_access_key, -e NBSEARCHDB_S3_SECRET_KEY=your_s3_secret_key - The access key and secret key for S3(required)-e NBSEARCHDB_S3_REGION_NAME=your_s3_region_name - The region name of S3(if needed)-e NBSEARCHDB_S3_BUCKET_NAME=your_s3_bucket_name - The bucket on S3(required)-e NBSEARCHDB_SOLR_NOTEBOOK=your_solr_notebook_core - The core for notebooks on Solr(default: jupyter-notebook)-e NBSEARCHDB_SOLR_CELL=your_solr_cell_core - The core for cells on Solr(default: jupyter-cell)-e NBSEARCHDB_BASE_DIR=your_notebook_home_dir - Notebook directory to be searchable(default: /home/$NB_USER)-e NBSEARCHDB_MY_SERVER_URL=your_notebook_server_url - URL of my server, used to identify the notebooks on this server(default: http://localhost:8888/)-e NBSEARCHDB_AUTO_UPDATE=1 - Launch lsyncd process to update the index of Solr when local files are updated automatically-e NBSEARCHDB_UPDATE_INDEX_OPT - Options for the update-index NBSearch command invoked by the lsyncd processYou can use NBWhisper by enabling the NBWhisper extension via the Nbextensions tab.
To use NBWhisper, you will need an API Key for Shiguredo's Sora Cloud service.
-e NBWHISPER_SIGNALING_URL=your_signaling_url - The URL of the signaling server-e NBWHISPER_SORA_API_KEY=your_api_key - The API key for the signaling server-e NBWHISPER_CHANNEL_ID_PREFIX=your_channel_id_prefix - The prefix of the channel ID using the WebRTC SFU-e NBWHISPER_CHANNEL_ID_SUFFIX=your_channel_id_suffix - The suffix of the channel ID using the WebRTC SFU-e NBWHISPER_SHARE_CURRENT_TAB_ONLY=1 - If true, only the current tab is sharedTo use NBWhisper, you need an API token of the SkyWay (WebRTC) service. It can be specified from environment variables as follows. (For more information, see https://github.com/NII-cloud-operation/nbwhisper/ .)
-e NBWHISPER_SKYWAY_API_TOKEN - An api token for SkyWay. This nbextension is not compatible with new SkyWay service, but old one. You can get an api token from your old SkyWay admin page. https://console-webrtc-free.ecl.ntt.com/users/login-e NBWHISPER_ROOM_MODE_FOR_WAITING_ROOM - Room mode for waiting room. Input "sfu" or "mesh" as waiting room mode you want to use.-e NBWHISPER_ROOM_MODE_FOR_TALKING_ROOM - Room mode for talking room. Input "sfu" or "mesh" as talking room mode you want to use.Content type
Image
Digest
sha256:f506ec1da…
Size
1.4 GB
Last updated
17 days ago
docker pull yacchin1205/notebook:feature-trivy-image-scan-202609