{"id":33466384,"url":"https://github.com/pyiron/docker-stacks","last_synced_at":"2026-05-11T23:03:42.117Z","repository":{"id":43006057,"uuid":"304248642","full_name":"pyiron/docker-stacks","owner":"pyiron","description":"Ready-to-run Docker images containing pyiron applications","archived":false,"fork":false,"pushed_at":"2026-03-30T21:07:43.000Z","size":2241,"stargazers_count":3,"open_issues_count":44,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-03-30T23:22:43.804Z","etag":null,"topics":["docker","pyiron"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/u/pyiron","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"max-hassani/pyiron-docker-stack","license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyiron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-10-15T07:44:36.000Z","updated_at":"2025-11-11T04:38:48.000Z","dependencies_parsed_at":"2023-02-19T13:31:24.060Z","dependency_job_id":"cfe1e6c5-e7da-4a2f-a647-ed21a8e3b748","html_url":"https://github.com/pyiron/docker-stacks","commit_stats":null,"previous_names":[],"tags_count":136,"template":false,"template_full_name":null,"purl":"pkg:github/pyiron/docker-stacks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyiron%2Fdocker-stacks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyiron%2Fdocker-stacks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyiron%2Fdocker-stacks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyiron%2Fdocker-stacks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyiron","download_url":"https://codeload.github.com/pyiron/docker-stacks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyiron%2Fdocker-stacks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32916340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-11T17:09:15.040Z","status":"ssl_error","status_checked_at":"2026-05-11T17:08:45.420Z","response_time":120,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","pyiron"],"created_at":"2025-11-25T06:03:25.210Z","updated_at":"2026-05-11T23:03:42.062Z","avatar_url":"https://github.com/pyiron.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker Stacks\n[![Docker Testing](https://github.com/pyiron/docker-stacks/workflows/Docker%20Push/badge.svg)](https://github.com/pyiron/docker-stacks/actions)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/pyiron/docker-stacks/master) \n\nHere, you find the necessary files for building various pyiron docker images. All of these images can be pulled from [docker-hub](https://hub.docker.com/u/pyiron). We provide following flavors based on the main pyiron modules:\n\n| Image Name                                                                    | Derived From          | Additional Dependencies | Pull Command |\n|-------------------------------------------------------------------------------|-----------------------|-------------------------|--------------|\n| [pyiron/base](https://hub.docker.com/r/pyiron/base)                           | jupyter/base-notebook | [pyiron_base](https://anaconda.org/conda-forge/pyiron_base) | `docker pull pyiron/base` |\n| [pyiron/md](https://hub.docker.com/r/pyiron/md)                               | pyiron/base           | [LAMMPS](https://anaconda.org/conda-forge/lammps), [pyiron](https://anaconda.org/conda-forge/pyiron), [NGLview](https://anaconda.org/conda-forge/nglview) | `docker pull pyiron/md` |\n| [pyiron/pyiron](https://hub.docker.com/r/pyiron/pyiron)                       | pyiron/md             | [SPHInX](https://anaconda.org/conda-forge/sphinxdft), [GPAW](https://anaconda.org/conda-forge/gpaw) |  `docker pull pyiron/pyiron` |\n| [pyiron/experimental](https://hub.docker.com/r/pyiron/experimental)           | pyiron/base           | [TEMMETA](https://anaconda.org/conda-forge/temmeta), [pyprismatic](https://anaconda.org/conda-forge/pyprismatic), [match-series](https://anaconda.org/conda-forge/match-series), [pyxem](https://anaconda.org/conda-forge/pyxem), [pystem](https://anaconda.org/conda-forge/pystem)  |  `docker pull pyiron/experimental` |\n| [pyiron/continuum](https://hub.docker.com/r/pyiron/continuum)                 | pyiron/md             | [damask](https://anaconda.org/conda-forge/damask), [sqsgenerator](https://anaconda.org/conda-forge/sqsgenerator), [fenics](https://anaconda.org/conda-forge/fenics) |  `docker pull pyiron/continuum` |\n| [pyiron/potentialworkshop](https://hub.docker.com/r/pyiron/potentialworkshop) | pyiron/pyiron         | [atomicrex](https://anaconda.org/conda-forge/atomicrex), [calphy](https://anaconda.org/conda-forge/calphy), [pyiron_contrib](https://anaconda.org/conda-forge/pyiron_contrib), [pyiron_gpl](https://anaconda.org/conda-forge/pyiron_gpl), [python-ace](https://anaconda.org/conda-forge/python-ace), [runner](https://anaconda.org/conda-forge/runner) | `docker pull pyiron/potentialworkshop` |\n| [pyiron/mpie_cmti](https://hub.docker.com/r/pyiron/mpie_cmti)                 | pyiron/pyiron         | [atomicrex](https://anaconda.org/conda-forge/atomicrex), [calphy](https://anaconda.org/conda-forge/calphy), [fitsnap](https://anaconda.org/conda-forge/fitsnap3), [pyiron_contrib](https://anaconda.org/conda-forge/pyiron_contrib), [pyiron_gpl](https://anaconda.org/conda-forge/pyiron_gpl), [pyiron_gui](https://anaconda.org/conda-forge/pyiron_gui), [pyiron_workflow](https://anaconda.org/conda-forge/pyiron_workflow), [python-ace](https://anaconda.org/conda-forge/python-ace), [pytorch](https://anaconda.org/conda-forge/pytorch), [runner](https://anaconda.org/conda-forge/runner), [tensorflow](https://anaconda.org/conda-forge/tensorflow) | `docker pull pyiron/mpie_cmti` |\n\nBy deriving the images from each other the size of [Docker layers](https://docs.docker.com/build/guide/layers/) is reduced to a minimum. The images also include some example notebooks to get you started. \n\n# Execute Docker Container \n\nRunning one of these container and spawning a Jupyter server from within will provide you with a ready-to-start environment for using pyiron.\nIf you like a simple Jupyter notebook, run\n```bash\ndocker run -i -t -p 8888:8888 \u003cimage name\u003e /bin/bash -c \"source /opt/conda/bin/activate; jupyter notebook --notebook-dir=/home/jovyan/ --ip='*' --port=8888\"\n```\nreplace `\u003cimage_name\u003e` with respective image you want to use, e.g. `pyiron/md`.\nIf you prefer to use Jupyter lab, run\n```bash\ndocker run -i -t -p 8888:8888 \u003cimage_name\u003e /bin/bash -c \"source /opt/conda/bin/activate; jupyter lab --notebook-dir=/home/jovyan/ --ip='*' --port=8888\"\n```\nThese commands do a number of things:\n- `docker run \u003cimage_name\u003e` spawns a container based on image `\u003cimage_name\u003e`.\nIn case the image isn't already on your system, it will be downloaded. Also, if not further specified, the `latest` tag will be assumed and outdated local versions may be updated.\n- `-i -t`: the container is spanwed in \"interactive mode\" by allocating a pseudo-tty (`-t`).\n- `-p 8888:8888`: port `8888` of the container instance is forwarded to port `8888` of the host.\n- `\u003cimage name\u003e`: the image's name.\n- `/bin/bash`: inside the container, a `bash` shell is started.\n- `-c \"source /opt/conda/bin/activate; jupyter notebook --notebook-dir=/home/jovyan/ --ip='*' --port=8888\"`: \n the shell executes the command inside the quotation marks:\n  - `source /opt/conda/bin/activate`: activate the conda environment\n  - `jupyter notebook` or `jupyter lab`: start a Jupyter server running a notebbok/lab. Do this in the user's (`jovyan`) home-directory (`--notebook-dir=/home/jovyan/`) and allow connections from any IP address (`--ip='*'`) on port 8888 (`--port=8888`) which is connected to the outside.   \n\n## Data Persistence\n\nIn case you want to keep data you worked on/created while using the container, it may be convenient to mount a local directory into the home directory of the docker container by adding `-v \u003clocal_path\u003e:/home/jovyan/` to the `docker run` command:\n```bash\ndocker run -i -t  -v \u003clocal_path\u003e:/home/jovyan/ -p 8888:8888 \u003cimage_name\u003e /bin/bash -c \"source /opt/conda/bin/activate; jupyter notebook --notebook-dir=/home/jovyan/ --ip='*' --port=8888\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyiron%2Fdocker-stacks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyiron%2Fdocker-stacks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyiron%2Fdocker-stacks/lists"}