bethanie05 commited on
Commit
ff2e80d
·
verified ·
1 Parent(s): eb1df8e

Change to Debian 12 to be more compatible with MongoDB

Browse files
Files changed (1) hide show
  1. Dockerfile +20 -28
Dockerfile CHANGED
@@ -1,4 +1,6 @@
1
- FROM python:3.12.12
 
 
2
 
3
  RUN useradd -m -u 1000 user
4
 
@@ -9,36 +11,27 @@ RUN pip install --no-cache-dir --upgrade -r requirements.txt
9
 
10
  RUN apt-get update && apt-get install -y \
11
  curl \
 
12
  ca-certificates \
13
  cron \
14
- tar \
15
- gzip \
16
  procps \
17
  && rm -rf /var/lib/apt/lists/*
18
 
19
- ENV GLIBC_TUNABLES=glibc.pthread.rseq=0
20
-
21
- ARG MONGO_VERSION=8.0.19
22
- ARG MONGO_TARBALL_URL=https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2404-${MONGO_VERSION}.tgz
23
-
24
- RUN curl -fsSL "${MONGO_TARBALL_URL}" -o /tmp/mongodb.tgz \
25
- && tar -xzf /tmp/mongodb.tgz -C /opt \
26
- && ln -s /opt/mongodb-linux-x86_64-ubuntu2404-${MONGO_VERSION} /opt/mongodb \
27
- && ln -s /opt/mongodb/bin/mongod /usr/local/bin/mongod \
28
- && ln -s /opt/mongodb/bin/mongos /usr/local/bin/mongos \
29
- && rm /tmp/mongodb.tgz
30
-
31
- # Check that MongoDB is installed & works properly
32
- RUN mkdir -p /tmp/mongo-data-build /tmp/mongo-logs-build /tmp/mongo-run-build \
33
- && mongod --bind_ip 127.0.0.1 \
34
- --dbpath /tmp/mongo-data-build \
35
- --logpath /tmp/mongo-logs-build/mongod.log \
36
- --pidfilepath /tmp/mongo-run-build/mongod.pid \
37
- --fork \
38
- && sleep 3 \
39
- && python -c "from pymongo import MongoClient; c = MongoClient('mongodb://127.0.0.1:27017/', serverSelectionTimeoutMS=5000); print(c.admin.command('ping'))" \
40
- && kill "$(cat /tmp/mongo-run-build/mongod.pid)" \
41
- && sleep 2
42
 
43
  COPY --chown=user . /app
44
 
@@ -57,5 +50,4 @@ sleep 3 && \
57
  python -c \"from pymongo import MongoClient; c = MongoClient('mongodb://127.0.0.1:27017/', serverSelectionTimeoutMS=5000); print(c.admin.command('ping'))\" && \
58
  exec \"$@\"", "--"]
59
 
60
- CMD ["gunicorn", "-k", "geventwebsocket.gunicorn.workers.GeventWebSocketWorker", "-w", "1", "--bind", "0.0.0.0:7860", "chat_application.main:app"]
61
-
 
1
+ FROM python:3.12-bookworm
2
+
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
 
5
  RUN useradd -m -u 1000 user
6
 
 
11
 
12
  RUN apt-get update && apt-get install -y \
13
  curl \
14
+ gnupg \
15
  ca-certificates \
16
  cron \
 
 
17
  procps \
18
  && rm -rf /var/lib/apt/lists/*
19
 
20
+ RUN curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc \
21
+ | gpg --dearmor -o /usr/share/keyrings/mongodb-server-8.0.gpg
22
+
23
+ RUN echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 main" \
24
+ > /etc/apt/sources.list.d/mongodb-org-8.0.list
25
+
26
+ RUN apt-get update && apt-get install -y \
27
+ mongodb-org \
28
+ mongodb-mongosh \
29
+ mongodb-database-tools \
30
+ && rm -rf /var/lib/apt/lists/*
31
+
32
+ RUN mongod --version
33
+ RUN mongosh --version
34
+ RUN mongodump --version
 
 
 
 
 
 
 
 
35
 
36
  COPY --chown=user . /app
37
 
 
50
  python -c \"from pymongo import MongoClient; c = MongoClient('mongodb://127.0.0.1:27017/', serverSelectionTimeoutMS=5000); print(c.admin.command('ping'))\" && \
51
  exec \"$@\"", "--"]
52
 
53
+ CMD ["gunicorn", "-k", "geventwebsocket.gunicorn.workers.GeventWebSocketWorker", "-w", "1", "--bind", "0.0.0.0:7860", "chat_application.main:app"]