{"id":22358233,"url":"https://github.com/pythoninthegrass/my_jupyterlab","last_synced_at":"2025-03-26T13:43:32.521Z","repository":{"id":266368946,"uuid":"898165169","full_name":"pythoninthegrass/my_jupyterlab","owner":"pythoninthegrass","description":"Custom Docker image for running a Jupyter Notebook","archived":false,"fork":false,"pushed_at":"2025-02-09T21:42:08.000Z","size":23,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T19:53:26.502Z","etag":null,"topics":["docker","docker-compose","jupyter","metpy"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pythoninthegrass.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-03T22:48:53.000Z","updated_at":"2024-12-30T22:31:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"2b4b4c45-ed25-4fae-a75e-b8b8660e5ed3","html_url":"https://github.com/pythoninthegrass/my_jupyterlab","commit_stats":null,"previous_names":["pythoninthegrass/my_jupyterlab"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythoninthegrass%2Fmy_jupyterlab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythoninthegrass%2Fmy_jupyterlab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythoninthegrass%2Fmy_jupyterlab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pythoninthegrass%2Fmy_jupyterlab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pythoninthegrass","download_url":"https://codeload.github.com/pythoninthegrass/my_jupyterlab/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245667459,"owners_count":20652964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","jupyter","metpy"],"created_at":"2024-12-04T15:13:15.942Z","updated_at":"2025-03-26T13:43:32.496Z","avatar_url":"https://github.com/pythoninthegrass.png","language":"Dockerfile","readme":"# my_jupyterlab\n\nAnnotated docker image for running a Jupyter notebook with the MetPy library.\n\n## Minimum Requirements\n\n- [docker](https://docs.docker.com/get-docker/)\n- [docker-compose](https://docs.docker.com/compose/install/)\n\n## Recommended Requirements\n\n- [python 3.12+](https://www.python.org/downloads/)\n- [asdf](https://asdf-vm.com/#/)\n- [poetry](https://python-poetry.org/docs/)\n\n## Quickstart\n\n### Docker\n\n```bash\n# build the image\ndocker build -t metpy_test .\n\n# run the container\ndocker run  -it --rm --name metpy_test -p 8888:8888 -v ~/metpy_test:/app metpy_test\n```\n\n### Docker Compose\n\n```bash\n# build\ndocker compose build\n\n# run the container\ndocker compose up\n\n# build and run the container\ndocker compose up --build\n\n# run the container in the background\ndocker compose up -d\n\n# stop the container\ndocker compose stop\n\n# remove the container and default bridge network\ndocker compose down\n```\n\n## TODO\n\n- [ ] Add `asdf`\n- [ ] Add `poetry`\n- [ ] Add `.dockerignore`\n- [ ] Add `hadolint` and lint Dockerfile\n- [ ] Add `dive` and reduce image size\n- [ ] Migrate to `alpine` (along with musl libc changes)\n- [ ] Create multistage build: `Docker.multistage`\n- [ ] Add HTTPS \n  - [mkcert](https://computingforgeeks.com/create-locally-trusted-ssl-certificates-on-linux-macos-using-mkcert/)\n    ```bash\n    mkcert -key-file key.pem -cert-file cert.pem jupyter.local *.jupyter.local\n    mkcert -install\n    ```\n  - [LetsEncrypt](https://jupyter-server.readthedocs.io/en/latest/operators/public-server.html#using-let-s-encrypt)\n- [ ] Setup CI to auto publish to docker.io and ghcr.io registries\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpythoninthegrass%2Fmy_jupyterlab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpythoninthegrass%2Fmy_jupyterlab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpythoninthegrass%2Fmy_jupyterlab/lists"}