diff options
| author | Mohamed Bassem <me@mbassem.com> | 2026-01-18 20:29:57 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2026-01-18 20:30:09 +0000 |
| commit | 6535a5a2931c0597f510dc985ecd84679df697d0 (patch) | |
| tree | 05f468525072fc58e7300043f2a199734693b8aa /docker | |
| parent | dfad809fe2fcc5c6179fce2e0b3d36331232442f (diff) | |
| download | karakeep-6535a5a2931c0597f510dc985ecd84679df697d0.tar.zst | |
docker: switch to jemalloc
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/Dockerfile | 9 | ||||
| -rw-r--r-- | docker/root/etc/s6-overlay/s6-rc.d/init-db-migration/run | 1 | ||||
| -rw-r--r-- | docker/root/etc/s6-overlay/s6-rc.d/svc-web/run | 1 | ||||
| -rw-r--r-- | docker/root/etc/s6-overlay/s6-rc.d/svc-workers/run | 1 |
4 files changed, 12 insertions, 0 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile index 13b33678..83e94264 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -122,6 +122,7 @@ RUN apt-get update \ curl \ graphicsmagick \ ghostscript \ + libjemalloc2 \ && rm -rf /var/lib/apt/lists/* ARG TARGETARCH @@ -144,6 +145,14 @@ ENV NODE_ENV production ENV NEXT_TELEMETRY_DISABLED 1 ENV NEXTAUTH_URL_INTERNAL=http://localhost:${PORT} +# Create symlink for jemalloc based on architecture +ARG TARGETARCH +RUN if [ "$TARGETARCH" = "arm64" ]; then \ + ln -s /usr/lib/aarch64-linux-gnu/libjemalloc.so.2 /usr/local/lib/libjemalloc.so; \ + else \ + ln -s /usr/lib/x86_64-linux-gnu/libjemalloc.so.2 /usr/local/lib/libjemalloc.so; \ + fi + COPY --from=base --chown=node:node /app/apps/web/.next/standalone ./ COPY --from=base /app/apps/web/public ./apps/web/public COPY --from=base /db_migrations /db_migrations diff --git a/docker/root/etc/s6-overlay/s6-rc.d/init-db-migration/run b/docker/root/etc/s6-overlay/s6-rc.d/init-db-migration/run index f8cfe71b..72334313 100644 --- a/docker/root/etc/s6-overlay/s6-rc.d/init-db-migration/run +++ b/docker/root/etc/s6-overlay/s6-rc.d/init-db-migration/run @@ -3,4 +3,5 @@ echo "Running db migration script"; cd /db_migrations; +export LD_PRELOAD=/usr/local/lib/libjemalloc.so exec node index.js; diff --git a/docker/root/etc/s6-overlay/s6-rc.d/svc-web/run b/docker/root/etc/s6-overlay/s6-rc.d/svc-web/run index 83e9b9f1..3eab16a4 100644 --- a/docker/root/etc/s6-overlay/s6-rc.d/svc-web/run +++ b/docker/root/etc/s6-overlay/s6-rc.d/svc-web/run @@ -2,4 +2,5 @@ # shellcheck shell=bash cd /app/apps/web; +export LD_PRELOAD=/usr/local/lib/libjemalloc.so exec node server.js; diff --git a/docker/root/etc/s6-overlay/s6-rc.d/svc-workers/run b/docker/root/etc/s6-overlay/s6-rc.d/svc-workers/run index 220f2e9b..b8b78c23 100644 --- a/docker/root/etc/s6-overlay/s6-rc.d/svc-workers/run +++ b/docker/root/etc/s6-overlay/s6-rc.d/svc-workers/run @@ -2,4 +2,5 @@ # shellcheck shell=bash cd /app/apps/workers; +export LD_PRELOAD=/usr/local/lib/libjemalloc.so exec node dist/index.js |
