mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 05:52:22 -04:00

- rslib(http_server): add `is_running()` method - rslib(sync): introduce `--healthcheck` argument for health probe in distroless - doc(syncserver): add table comparing Dockerfile and Dockerfile.distroless - Expand cross-platform support with distroless - add `Dockerfile.distroless` - Dockerfile: bump rust `1.79` to `1.80.1` - Dockerfile: bump alpine `3.20` to `3.20.2` Note: Implemented an internal health check because distroless images do not include curl, which is used to reduce image size and attack surface. For more details, see https://blog.sixeyed.com/docker-healthchecks-why-not-to-use-curl-or-iwr/ https://github.com/GoogleContainerTools/distroless fix: failed: check:format:rust typo remove extra space fix failed:check:format:rust update doc fetch `host` and `port` using envy fix: failed: check:format:rust Update doc + add dockerignore - dockerignore: This helps avoid sending unwanted files and directories to the builder - add new line - I am still experimenting cross platform compilation, I am getting 4.337 From https://github.com/ankitects/rust-url 4.337 * [new ref] bb930b8d089f4d30d7d19c12e54e66191de47b88 -> refs/commit/bb930b8d089f4d30d7d19c12e54e66191de47b88 4.397 error: failed to get `percent-encoding-iri` as a dependency of package `anki v0.0.0 (/app/rslib)` still checking what could be the issue fix: failed: check:format:dprint
27 lines
No EOL
834 B
Text
27 lines
No EOL
834 B
Text
FROM rust:1.80.1 AS builder
|
|
|
|
ARG ANKI_VERSION
|
|
|
|
RUN apt-get update && apt-get install -y build-essential protobuf-compiler && apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN cargo install --git https://github.com/ankitects/anki.git \
|
|
--tag ${ANKI_VERSION} \
|
|
--root /anki-server \
|
|
anki-sync-server
|
|
|
|
FROM gcr.io/distroless/cc-debian12
|
|
|
|
COPY --from=builder /anki-server/bin/anki-sync-server /usr/bin/anki-sync-server
|
|
|
|
ENV SYNC_PORT=${SYNC_PORT:-"8080"}
|
|
|
|
EXPOSE ${SYNC_PORT}
|
|
|
|
CMD ["anki-sync-server"]
|
|
|
|
# This health check will work for Anki versions 24.08.x 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 ["anki-sync-server", "--healthcheck"]
|
|
|
|
LABEL maintainer="Jean Khawand <jk@jeankhawand.com>" |