Skip to content

Commit

Permalink
Docker: Update to use Solara viz
Browse files Browse the repository at this point in the history
  • Loading branch information
rht committed Aug 7, 2023
1 parent 1ea0dc7 commit 24d7f4a
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 25 deletions.
35 changes: 12 additions & 23 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
FROM python:3.10-slim
FROM python:slim
LABEL maintainer="rht <rhtbot@protonmail.com>"

# To use this Dockerfile:
# 1. `docker build . -t mymesa_image`
# 2. `docker run --name mymesa_instance -p 8521:8521 -it mymesa_image`
# 3. In your browser, visit http://127.0.0.1:8521
# 2. `docker run --name mymesa_instance -p 8765:8765 -it mymesa_image`
# 3. In your browser, visit http://127.0.0.1:8765
#
# Currently, this Dockerfile defaults to running the Wolf-Sheep model, as an
# Currently, this Dockerfile defaults to running the Schelling model, as an
# illustration. If you want to run a different example, simply change the
# MODEL_DIR variable below to point to another model, e.g.
# examples/sugarscape_cg or path to your custom model.
# mesa-examples/examples/sugarscape_cg or path to your custom model.
# You specify the MODEL_DIR (relative to this Git repo) by doing:
# `docker run --name mymesa_instance -p 8521:8521 -e MODEL_DIR=examples/sugarscape_cg -it mymesa_image`
# Note: the model directory MUST contain a run.py file.
# `docker run --name mymesa_instance -p 8765:8765 -e MODEL_DIR=mesa-examples/examples/sugarscape_cg -it mymesa_image`
# Note: the model directory MUST contain an app.py file.

ENV MODEL_DIR=examples/wolf_sheep
ENV MODEL_DIR=mesa-examples/examples/schelling_experimental

# Don't buffer output:
# https://docs.python.org/3.10/using/cmdline.html?highlight=pythonunbuffered#envvar-PYTHONUNBUFFERED
Expand All @@ -24,21 +24,10 @@ WORKDIR /opt/mesa

COPY . /opt/mesa

EXPOSE 8521/tcp

# Important: we don't install python3-dev, python3-pip and so on because doing
# so will install Python 3.9 instead of the already available Python 3.10 from
# the base image.
# The following RUN command is still provided for context.
# RUN apt-get update && apt-get upgrade -y -o Dpkg::Options::="--force-confold" \
# && apt-get install -y --no-install-recommends \
# build-essential \
# python3-dev \
# python3-pip \
# python3-setuptools \
# python3-wheel \
# && rm -rf /var/lib/apt/lists/*
RUN git clone git@github.com:projectmesa/mesa-examples.git

EXPOSE 8765/tcp

RUN pip3 install -e /opt/mesa

CMD ["sh", "-c", "cd $MODEL_DIR && python3 run.py"]
CMD ["sh", "-c", "cd $MODEL_DIR && solara run app.py"]
4 changes: 2 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ services:
volumes:
- .:/opt/mesa
environment:
MODEL_DIR: examples/wolf_sheep
MODEL_DIR: mesa-examples/examples/schelling_experimental
ports:
- "127.0.0.1:8521:8521"
- "127.0.0.1:8765:8765"

0 comments on commit 24d7f4a

Please sign in to comment.