Hosted at try.vyperlang.org
This project uses Docker to manage its services. The docker-compose.yaml file defines the services that make up your app so they can be run together in an isolated environment.
The project consists of two main services:
-
notebook-image: This service is built from thenotebook.Dockerfileand is used to create a Docker image namedtitanoboa-notebook. This image is not run as a service but is used by thevypyterservice. -
vypyter: This service is built from thejupyterhub.Dockerfileand depends on thenotebook-imageservice. It exposes port 8000 and uses environment variables defined in the.envfile and additional ones defined in thedocker-compose.yamlfile.
To run the project locally, you need to follow these steps:
-
Ensure Docker and Docker Compose are installed on your machine. If not, you can download them from the official Docker website.
-
Clone the project repository to your local machine using Git.
-
Create a GitHub OAuth app and add to a new
.envfile:-
GITHUB_CLIENT_ID=... GITHUB_CLIENT_SECRET=...` GITHUB_CALLBACK_URL=http://localhost:8000/hub/oauth_callback
-
-
You can start the JupyterHub using Docker Compose. Run the command
docker compose upto start it in the foreground, ordocker compose up --detachto start in the background.- This command automatically builds the necessary images if they don't exist.
- To build them manually, you can run
docker compose build. - To build and run immediately, you can run
docker compose up --build. - The
FORKandREFenvironment variables can be used to specify the Titanoboa fork and branch/commit to use. The default is to use themasterbranch of thetitanoboarepository. - The
PORTenvironment variable can be used to specify the port to expose. The default is8000.
-
The
vypyterservice should now be running and accessible athttp://localhost:8000.
If you want to deploy the JupyterHub to a server, please read the following article: Deploy your own Vyper JupyterLab notebook server .
In order to run the GitHub Actions, you need to add the following secrets to your repository:
AUTH_SSH_USER: The username used to authenticate with the server.AUTH_SSH_KEY: The private SSH key used to authenticate with the server.
Also, you need to add the following (environment) action variables to your repository:
HOST: The hostname of the server.HOST_PUBLIC_KEY: The public SSH key used to authenticate with the server. This is used to verify the server's identity when connecting via SSH. You can find the public key by callingssh-keyscan.REPO_DIR: The directory where the repository is be cloned on the server. For example,~/try.vyperlang.org.BOA_COMMIT_ISH: The commit-ish to checkout on the server. By default,master.PORT: The port to expose the JupyterHub on the server. By default,8000.JUPYTERHUB_IMAGE_NAME: Optional environment variable to specify the name of the JupyterHub image. By default,jupyterhub.NOTEBOOK_IMAGE_NAME: Optional environment variable to specify the name of the notebook image. By default,titanoboa-notebook.