aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Chris Lovering <[email protected]>2022-08-12 14:34:48 +0100
committerGravatar Chris Lovering <[email protected]>2022-09-14 14:06:45 +0100
commit8a52241f3321c434c1dfce4b185cc5d39a15bcf9 (patch)
tree6289f359ccd6b47dc4530d9485b9c151034345ae
parentMerge pull request #151 from python-discord/bump-deps (diff)
Change base Python version to 3.113.11
This also pre-installs all the deps into the built image, so shouldn't be deployed using the deployment found in this repo.
-rw-r--r--Dockerfile29
-rw-r--r--config/snekbox.cfg6
-rw-r--r--docker-compose.yml2
3 files changed, 30 insertions, 7 deletions
diff --git a/Dockerfile b/Dockerfile
index 9816d54..af8db00 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,7 @@
# syntax=docker/dockerfile:1
-FROM python:3.10-slim-buster as builder
+ARG python_version=3.11.0rc2
+
+FROM python:$python_version-slim-buster as builder
WORKDIR /nsjail
@@ -20,7 +22,7 @@ RUN git clone -b master --single-branch https://github.com/google/nsjail.git . \
RUN make
# ------------------------------------------------------------------------------
-FROM python:3.10-slim-buster as base
+FROM python:$python_version-slim-buster as base
# Everything will be a user install to allow snekbox's dependencies to be kept
# separate from the packages exposed during eval.
@@ -31,7 +33,7 @@ ENV PATH=/root/.local/bin:$PATH \
RUN apt-get -y update \
&& apt-get install -y \
- gcc=4:8.3.* \
+ g++=4:8.3.* \
git=1:2.20.* \
libnl-route-3-200=3.4.* \
libprotobuf17=3.6.* \
@@ -76,3 +78,24 @@ FROM venv
# because it contains extras, which pip disallows.
RUN --mount=source=.,target=/snekbox_src,rw \
pip install /snekbox_src[gunicorn,sentry]
+
+RUN PYTHONUSERBASE=/snekbox/user_base pip install anyio[trio] \
+ arrow \
+ attrs \
+ beautifulsoup4 \
+ fishhook \
+ forbiddenfruit \
+ fuzzywuzzy \
+ lark \
+ more-itertools \
+ networkx \
+ numpy \
+ pandas \
+ pendulum \
+ python-dateutil \
+ pyyaml \
+ sympy \
+ toml \
+ typing-extensions \
+ tzdata \
+ yarl
diff --git a/config/snekbox.cfg b/config/snekbox.cfg
index a1caf68..87c216e 100644
--- a/config/snekbox.cfg
+++ b/config/snekbox.cfg
@@ -14,7 +14,7 @@ envar: "OPENBLAS_NUM_THREADS=5"
envar: "MKL_NUM_THREADS=5"
envar: "VECLIB_MAXIMUM_THREADS=5"
envar: "NUMEXPR_NUM_THREADS=5"
-envar: "PYTHONPATH=/snekbox/user_base/lib/python3.10/site-packages"
+envar: "PYTHONPATH=/snekbox/user_base/lib/python3.11/site-packages"
envar: "PYTHONIOENCODING=utf-8:strict"
keep_caps: false
@@ -98,8 +98,8 @@ mount {
}
mount {
- src: "/usr/local/bin/python3.10"
- dst: "/usr/local/bin/python3.10"
+ src: "/usr/local/bin/python3.11"
+ dst: "/usr/local/bin/python3.11"
is_bind: true
rw: false
}
diff --git a/docker-compose.yml b/docker-compose.yml
index 9d3ae71..8104fb2 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -5,7 +5,7 @@ services:
container_name: snekbox_dev
hostname: snekbox_dev
privileged: true
- image: ghcr.io/python-discord/snekbox${IMAGE_SUFFIX:--venv:dev}
+ image: ghcr.io/chrislovering/snekbox:3.11
pull_policy: never
ports:
- 8060:8060