bha-Search / Dockerfile
vomebook's picture
Upgrade Elasticsearch to 8.19.20
a180b52 verified
Raw
History Blame Contribute Delete
2.04 kB
FROM debian:bookworm-slim AS elasticsearch
ARG ES_VERSION=8.19.20
ARG ES_SHA512=1c416956374360cec621bedcd293b6365e87dc3a911353bc7b17087f977f2426a3f98a7d8c2add14324207e5a44afbe87cd236b977f5fd3051cb2999899b2def
ARG DEBIAN_FRONTEND=noninteractive
ENV ES_HOME=/opt/elasticsearch
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
tar \
&& rm -rf /var/lib/apt/lists/*
COPY scripts/install-elasticsearch.sh /usr/local/bin/install-elasticsearch
RUN chmod +x /usr/local/bin/install-elasticsearch \
&& /usr/local/bin/install-elasticsearch
FROM node:22-bookworm-slim AS static-assets
ARG ESBUILD_VERSION=0.28.2
WORKDIR /build
RUN npm install --global "esbuild@${ESBUILD_VERSION}" \
&& test "$(esbuild --version)" = "${ESBUILD_VERSION}"
COPY static/ /build/static/
RUN mkdir -p /out \
&& esbuild static/app.js --minify --target=es2019 --charset=utf8 --legal-comments=none --outfile=/out/app.js \
&& esbuild static/style.css --minify --outfile=/out/style.css \
&& esbuild static/sw.js --minify --target=es2019 --charset=utf8 --legal-comments=none --outfile=/out/sw.js \
&& cp static/index.html /out/index.html
FROM python:3.11-slim-bookworm
ARG DEBIAN_FRONTEND=noninteractive
ENV ARCHIVE_START=0
ENV ARCHIVE_END=31
ENV ES_HOME=/opt/elasticsearch
ENV ES_JAVA_OPTS="-Xms1g -Xmx1g"
ENV PORT=7860
WORKDIR /app
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
git \
tini \
&& useradd --system --no-create-home --shell /usr/sbin/nologin elasticsearch \
&& rm -rf /var/lib/apt/lists/*
COPY --from=elasticsearch --chown=elasticsearch:elasticsearch /opt/elasticsearch/ /opt/elasticsearch/
COPY requirements.txt /app/requirements.txt
RUN pip install --no-cache-dir -r /app/requirements.txt
COPY app/ /app/app/
COPY --from=static-assets /out/ /app/static/
COPY --chmod=755 scripts/start.sh scripts/wait-for-es.sh /app/scripts/
EXPOSE 7860
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["/app/scripts/start.sh"]