Multiarch development environments
- Enable the beta GitHub Container Registry service on your GitHub acct
- Fork this repo under your GitHub user
- Clone the repo locally
- Edit
docker-compose.yaml
to include registry paths from your GitHub user - Run an environment
- For the dev shell
docker compose run dev /bin/bash -l
- For JupyterLab:
- Generate ssh keypair:
ssh-keygen -t ed5519 -f ~/.ssh/scidev
- Copy the public component to the container persistent storage:
docker compose run dev /bin/bash -l
- paste scidev.pub into ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
- On your local machine create an .ssh/config entry:
Host scidev HostName localhost Port 2222 LocalForward 8888 sci:8888 User 'your GitHub user' IdentityFile ~/.ssh/scidev
docker compose up
ssh scidev
- Open http://localhost:8888 in a browser
- Generate ssh keypair:
- For the dev shell
- Install an R kernel:
install.packages('IRkernel'); IRkernel::installspec()
- This allows for multiple GPG keys per container volume. The git config,
~/.config/git/config
is common between the host and container, but~/.config/git.signingkey
can reference different subkeys.- Add the following include statement in the global git config:
[include]
path = ~/.config/git.signingkey