mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-12-03 18:15:46 +01:00
94d8484581
Co-authored-by: Markus Machatschek <markus.machatschek@hey.com>
48 lines
1.3 KiB
Docker
48 lines
1.3 KiB
Docker
# Compile
|
||
FROM rust:bullseye AS compiler
|
||
|
||
WORKDIR /meilisearch
|
||
|
||
ARG COMMIT_SHA
|
||
ARG COMMIT_DATE
|
||
ARG GIT_TAG
|
||
ENV VERGEN_GIT_SHA=${COMMIT_SHA} VERGEN_GIT_COMMIT_TIMESTAMP=${COMMIT_DATE} VERGEN_GIT_SEMVER_LIGHTWEIGHT=${GIT_TAG}
|
||
ENV RUSTFLAGS="-C target-feature=-crt-static"
|
||
|
||
COPY . .
|
||
RUN set -eux; \
|
||
arch="$(dpkg --print-architecture)"; \
|
||
if [ "$arch" = "arm64" ]; then \
|
||
export JEMALLOC_SYS_WITH_LG_PAGE=16; \
|
||
fi && \
|
||
cargo build --release
|
||
|
||
# Run
|
||
FROM debian:11.6
|
||
|
||
ENV MEILI_HTTP_ADDR 0.0.0.0:7700
|
||
ENV MEILI_SERVER_PROVIDER docker
|
||
|
||
RUN set -ex; \
|
||
apt-get update -q; \
|
||
apt-get install -q -y --no-install-recommends tini; \
|
||
rm -rf /var/lib/apt/lists/*
|
||
|
||
# add meilisearch to the `/bin` so you can run it from anywhere and it's easy
|
||
# to find.
|
||
COPY --from=compiler /meilisearch/target/release/meilisearch /bin/meilisearch
|
||
# To stay compatible with the older version of the container (pre v0.27.0) we're
|
||
# going to symlink the meilisearch binary in the path to `/meilisearch`
|
||
RUN ln -s /bin/meilisearch /meilisearch
|
||
|
||
# This directory should hold all the data related to meilisearch so we're going
|
||
# to move our PWD in there.
|
||
# We don't want to put the meilisearch binary
|
||
WORKDIR /meili_data
|
||
|
||
|
||
EXPOSE 7700/tcp
|
||
|
||
ENTRYPOINT ["tini", "--"]
|
||
CMD /bin/meilisearch
|