Gold is a containerized environment for working on provably correct software and more
Use VS Code in the browser in Three Easy Steps™
- Install Docker or Podman
- Run the command 1
docker run -it \ --privileged \ --name notebook \ --hostname $(hostname) \ -p 1337:1337 \ ghcr.io/jhwohlgemuth/gold
- Open a browser and navigate to https://localhost:1337 2
Tip
See Container Customization section for more details on how to customize the container.
🚧 UNDER CONSTRUCTION
🚧 UNDER CONSTRUCTION
Tip
See the examples directory for details on all the things you can do with Gold.
- Write, run, and debug Coq code from within a browser-based instance of VSCode 3
- Work with modern Rust-based projects to write provably correct software
- Spin up feature-rich development environments for use from a terminal or browser-based IDE 3
- Work with WebAssembly
- Quickly and easily compare multiple languages using interative notebooks
- 🚧 UNDER CONSTRUCTION
Note
Use install_extensions
to install VS Code extensions.
Note
install_extensions
accepts any number of image names (see Image Design section)
Example install_extensions notebook dotnet web
The following environment variables are available to customize containers:
CODE_SERVER_CONFIG
: Location of code-server server configuration file (within container)- Default:
/app/code-server/config/config.yaml
- Default:
CODE_SERVER_PORT
: Port to use for code-server server- Default:
1337
- Default:
CODE_SERVER_PASSWORD
: Password to use for code-server server- Default:
password
- Default:
JUPYTER_CONFIG
: Location of code-server server configuration file (within container)- Default:
/root/.jupyter/jupyter_notebook_config.py
- Default:
JUPYTER_PORT
: Port to use for Jupyter server- Default:
13337
- Default:
JUPYTER_PASSWORD_HASH
: Password to use for Jupyter server- Default:
password
- Default:
Tip
Change environment variables with the --env
parameter 4 (ex. docker run -it --env CODE_SERVER_PORT=8080 <image>
)
Tip
See CONTRIBUTING.md
--privileged
is required to use Apptainer within the container
The default code-server port can be changed with the
CODE_SERVER_PORT
environment variable. See the Container Customization section for more details.