mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-11-03 17:36:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
# Compile
 | 
						|
FROM    rust:1.85-alpine3.20 AS compiler
 | 
						|
 | 
						|
RUN     apk add -q --no-cache build-base openssl-dev
 | 
						|
 | 
						|
WORKDIR /
 | 
						|
 | 
						|
ARG     COMMIT_SHA
 | 
						|
ARG     COMMIT_DATE
 | 
						|
ARG     GIT_TAG
 | 
						|
ENV     VERGEN_GIT_SHA=${COMMIT_SHA} VERGEN_GIT_COMMIT_TIMESTAMP=${COMMIT_DATE} VERGEN_GIT_DESCRIBE=${GIT_TAG}
 | 
						|
ENV     RUSTFLAGS="-C target-feature=-crt-static"
 | 
						|
 | 
						|
COPY    . .
 | 
						|
RUN     set -eux; \
 | 
						|
        apkArch="$(apk --print-arch)"; \
 | 
						|
        if [ "$apkArch" = "aarch64" ]; then \
 | 
						|
            export JEMALLOC_SYS_WITH_LG_PAGE=16; \
 | 
						|
        fi && \
 | 
						|
        cargo build --release -p meilisearch -p meilitool
 | 
						|
 | 
						|
# Run
 | 
						|
FROM    alpine:3.20
 | 
						|
LABEL   org.opencontainers.image.source="https://github.com/meilisearch/meilisearch"
 | 
						|
 | 
						|
ENV     MEILI_HTTP_ADDR 0.0.0.0:7700
 | 
						|
ENV     MEILI_SERVER_PROVIDER docker
 | 
						|
 | 
						|
RUN     apk add -q --no-cache libgcc tini curl
 | 
						|
 | 
						|
# add meilisearch and meilitool to the `/bin` so you can run it from anywhere
 | 
						|
# and it's easy to find.
 | 
						|
COPY    --from=compiler /target/release/meilisearch /bin/meilisearch
 | 
						|
COPY    --from=compiler /target/release/meilitool /bin/meilitool
 | 
						|
# 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
 |