https://github.com/pythoninthegrass/my_jupyterlab
Custom Docker image for running a Jupyter Notebook
https://github.com/pythoninthegrass/my_jupyterlab
docker docker-compose jupyter metpy
Last synced: 10 months ago
JSON representation
Custom Docker image for running a Jupyter Notebook
- Host: GitHub
- URL: https://github.com/pythoninthegrass/my_jupyterlab
- Owner: pythoninthegrass
- License: unlicense
- Created: 2024-12-03T22:48:53.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-09T21:42:08.000Z (11 months ago)
- Last Synced: 2025-03-18T19:53:26.502Z (10 months ago)
- Topics: docker, docker-compose, jupyter, metpy
- Language: Dockerfile
- Homepage:
- Size: 22.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# my_jupyterlab
Annotated docker image for running a Jupyter notebook with the MetPy library.
## Minimum Requirements
- [docker](https://docs.docker.com/get-docker/)
- [docker-compose](https://docs.docker.com/compose/install/)
## Recommended Requirements
- [python 3.12+](https://www.python.org/downloads/)
- [asdf](https://asdf-vm.com/#/)
- [poetry](https://python-poetry.org/docs/)
## Quickstart
### Docker
```bash
# build the image
docker build -t metpy_test .
# run the container
docker run -it --rm --name metpy_test -p 8888:8888 -v ~/metpy_test:/app metpy_test
```
### Docker Compose
```bash
# build
docker compose build
# run the container
docker compose up
# build and run the container
docker compose up --build
# run the container in the background
docker compose up -d
# stop the container
docker compose stop
# remove the container and default bridge network
docker compose down
```
## TODO
- [ ] Add `asdf`
- [ ] Add `poetry`
- [ ] Add `.dockerignore`
- [ ] Add `hadolint` and lint Dockerfile
- [ ] Add `dive` and reduce image size
- [ ] Migrate to `alpine` (along with musl libc changes)
- [ ] Create multistage build: `Docker.multistage`
- [ ] Add HTTPS
- [mkcert](https://computingforgeeks.com/create-locally-trusted-ssl-certificates-on-linux-macos-using-mkcert/)
```bash
mkcert -key-file key.pem -cert-file cert.pem jupyter.local *.jupyter.local
mkcert -install
```
- [LetsEncrypt](https://jupyter-server.readthedocs.io/en/latest/operators/public-server.html#using-let-s-encrypt)
- [ ] Setup CI to auto publish to docker.io and ghcr.io registries