mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 06:22:22 -04:00

* Update base images and introduce health endpoint sync-server: introduce `/health` endpoint to check if the service is reachable. bump(alpine): bump alpine base image from `3.19` to `3.20` bump(rust): bump rust-alpine build image from `1.76` to `1.79` * fix cargo fmt * add allow clippy::extra_unused_type_parameters * Remove unused type param (dae) * Route /health directly (dae) * Fix for latest axum (dae)
33 lines
No EOL
931 B
Docker
33 lines
No EOL
931 B
Docker
FROM rust:1.79-alpine3.20 AS builder
|
|
|
|
ARG ANKI_VERSION
|
|
|
|
RUN apk update && apk add --no-cache build-base protobuf && rm -rf /var/cache/apk/*
|
|
RUN cargo install --git https://github.com/ankitects/anki.git \
|
|
--tag ${ANKI_VERSION} \
|
|
--root /anki-server \
|
|
anki-sync-server
|
|
|
|
FROM alpine:3.20
|
|
|
|
RUN adduser -D -h /home/anki anki
|
|
|
|
COPY --from=builder /anki-server/bin/anki-sync-server /usr/local/bin/anki-sync-server
|
|
|
|
|
|
RUN apk update && apk add --no-cache bash && rm -rf /var/cache/apk/*
|
|
|
|
USER anki
|
|
|
|
ENV SYNC_PORT=${SYNC_PORT:-"8080"}
|
|
|
|
EXPOSE ${SYNC_PORT}
|
|
|
|
CMD ["anki-sync-server"]
|
|
|
|
# This health check will work for Anki versions 24.06.3 and newer.
|
|
# For older versions, it may incorrectly report an unhealthy status, which should not be the case.
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
|
CMD wget -qO- http://localhost:${SYNC_PORT}/health || exit 1
|
|
|
|
LABEL maintainer="Jean Khawand <jk@jeankhawand.com>" |