Skip to content

Commit d2bb353

Browse files
authored
Merge pull request #31 from GilesStrong/fix/umap_cache_issue
fix: numba caches being unwritabble
2 parents 4c300ad + 50d1d86 commit d2bb353

2 files changed

Lines changed: 49 additions & 10 deletions

File tree

Dockerfile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,13 @@ RUN addgroup --system --gid 998 appgroup && \
4040

4141
COPY --chown=appuser:appgroup . .
4242

43-
RUN mkdir -p /app/staticfiles /app/media && \
44-
chown -R appuser:appgroup /app/staticfiles /app/media
43+
RUN mkdir -p \
44+
/app/staticfiles \
45+
/app/media \
46+
/app/.cache/numba \
47+
/app/.cache/xdg \
48+
/app/.cache/matplotlib \
49+
&& chown -R appuser:appgroup /app/staticfiles /app/media /app/.cache
4550

4651
USER appuser
4752

docker-compose.prod.yml

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ services:
5555
redis:
5656
condition: service_healthy
5757
command: >
58-
sh -lc "cd /app/app &&
58+
sh -lc "mkdir -p /app/.cache/numba /app/.cache/xdg /app/.cache/matplotlib &&
59+
cd /app/app &&
5960
python manage.py migrate --noinput &&
6061
python manage.py collectstatic --noinput &&
6162
exec hypercorn app.asgi:application -b 0.0.0.0:8000 -w 2 --keep-alive 15"
@@ -68,15 +69,24 @@ services:
6869
- ALL
6970
read_only: true
7071
tmpfs:
71-
- /tmp:rw,noexec,nosuid,size=128m
72+
- /tmp:rw,noexec,nosuid,size=128m,uid=998,gid=998,mode=1777
73+
- /app/.cache:rw,nosuid,size=256m,uid=998,gid=998,mode=700
7274
volumes:
7375
- django_static_prod:/app/staticfiles
7476
- django_media_prod:/app/media
77+
environment:
78+
HOME: /app
79+
XDG_CACHE_HOME: /app/.cache/xdg
80+
NUMBA_CACHE_DIR: /app/.cache/numba
81+
MPLCONFIGDIR: /app/.cache/matplotlib
7582

7683
celery_worker:
7784
image: deepmtg-app:prod
7885
env_file: .env.prod
79-
command: "sh -lc 'cd /app/app && celery -A app worker -Q default --loglevel=info --concurrency=8 -n worker_default@%h'"
86+
command: >
87+
sh -lc "mkdir -p /app/.cache/numba /app/.cache/xdg /app/.cache/matplotlib &&
88+
cd /app/app &&
89+
exec celery -A app worker -Q default --loglevel=info --concurrency=8 -n worker_default@%h"
8090
restart: unless-stopped
8191
depends_on:
8292
db:
@@ -92,12 +102,21 @@ services:
92102
- ALL
93103
read_only: true
94104
tmpfs:
95-
- /tmp:rw,noexec,nosuid,size=128m
105+
- /tmp:rw,noexec,nosuid,size=128m,uid=998,gid=998,mode=1777
106+
- /app/.cache:rw,nosuid,size=256m,uid=998,gid=998,mode=700
107+
environment:
108+
HOME: /app
109+
XDG_CACHE_HOME: /app/.cache/xdg
110+
NUMBA_CACHE_DIR: /app/.cache/numba
111+
MPLCONFIGDIR: /app/.cache/matplotlib
96112

97113
celery_llm_worker:
98114
image: deepmtg-app:prod
99115
env_file: .env.prod
100-
command: "sh -lc 'cd /app/app && celery -A app worker -Q llm --loglevel=info --concurrency=1 --pool=prefork --max-tasks-per-child=50 -n worker_llm@%h'"
116+
command: >
117+
sh -lc "mkdir -p /app/.cache/numba /app/.cache/xdg /app/.cache/matplotlib &&
118+
cd /app/app &&
119+
exec celery -A app worker -Q llm --loglevel=info --concurrency=1 --pool=prefork --max-tasks-per-child=50 -n worker_llm@%h"
101120
restart: unless-stopped
102121
depends_on:
103122
db:
@@ -113,12 +132,21 @@ services:
113132
- ALL
114133
read_only: true
115134
tmpfs:
116-
- /tmp:rw,noexec,nosuid,size=128m
135+
- /tmp:rw,noexec,nosuid,size=128m,uid=998,gid=998,mode=1777
136+
- /app/.cache:rw,nosuid,size=256m,uid=998,gid=998,mode=700
137+
environment:
138+
HOME: /app
139+
XDG_CACHE_HOME: /app/.cache/xdg
140+
NUMBA_CACHE_DIR: /app/.cache/numba
141+
MPLCONFIGDIR: /app/.cache/matplotlib
117142

118143
celery_beat:
119144
image: deepmtg-app:prod
120145
env_file: .env.prod
121-
command: "sh -lc 'cd /app/app && celery -A app beat --loglevel=info --schedule /tmp/celerybeat-schedule'"
146+
command: >
147+
sh -lc "mkdir -p /app/.cache/numba /app/.cache/xdg /app/.cache/matplotlib &&
148+
cd /app/app &&
149+
exec celery -A app beat --loglevel=info --schedule /tmp/celerybeat-schedule"
122150
restart: unless-stopped
123151
depends_on:
124152
db:
@@ -134,7 +162,13 @@ services:
134162
- ALL
135163
read_only: true
136164
tmpfs:
137-
- /tmp:rw,noexec,nosuid,size=128m
165+
- /tmp:rw,noexec,nosuid,size=128m,uid=998,gid=998,mode=1777
166+
- /app/.cache:rw,nosuid,size=128m,uid=998,gid=998,mode=700
167+
environment:
168+
HOME: /app
169+
XDG_CACHE_HOME: /app/.cache/xdg
170+
NUMBA_CACHE_DIR: /app/.cache/numba
171+
MPLCONFIGDIR: /app/.cache/matplotlib
138172

139173
frontend:
140174
build:

0 commit comments

Comments
 (0)