From 03f631a0ecbef2afe4c34cda72871deae5649388 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 7 Aug 2025 09:47:04 +0300 Subject: rename --- f3s/anki-sync-server/docker-image/Dockerfile | 39 +++++++++++++++++++++++++ f3s/anki-sync-server/docker-image/Makefile | 6 ++++ f3s/anki-sync-server/docker-image/entrypoint.sh | 31 ++++++++++++++++++++ f3s/anki-sync-server/docker/Dockerfile | 39 ------------------------- f3s/anki-sync-server/docker/Makefile | 6 ---- f3s/anki-sync-server/docker/entrypoint.sh | 31 -------------------- 6 files changed, 76 insertions(+), 76 deletions(-) create mode 100644 f3s/anki-sync-server/docker-image/Dockerfile create mode 100644 f3s/anki-sync-server/docker-image/Makefile create mode 100644 f3s/anki-sync-server/docker-image/entrypoint.sh delete mode 100644 f3s/anki-sync-server/docker/Dockerfile delete mode 100644 f3s/anki-sync-server/docker/Makefile delete mode 100644 f3s/anki-sync-server/docker/entrypoint.sh diff --git a/f3s/anki-sync-server/docker-image/Dockerfile b/f3s/anki-sync-server/docker-image/Dockerfile new file mode 100644 index 0000000..81fad85 --- /dev/null +++ b/f3s/anki-sync-server/docker-image/Dockerfile @@ -0,0 +1,39 @@ +FROM rust:1.85.0-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 \ +--locked \ +anki-sync-server + +FROM alpine:3.21.0 + +# Default PUID and PGID values (can be overridden at runtime). Use these to +# ensure the files on the volume have the permissions you need. +ENV PUID=1000 +ENV PGID=1000 + +COPY --from=builder /anki-server/bin/anki-sync-server /usr/local/bin/anki-sync-server + +RUN apk update && apk add --no-cache bash su-exec && rm -rf /var/cache/apk/* + +EXPOSE 8080 + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +ENTRYPOINT ["/entrypoint.sh"] +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 wget -qO- http://127.0.0.1:8080/health || exit 1 + +VOLUME /anki_data + +LABEL maintainer="Jean Khawand " diff --git a/f3s/anki-sync-server/docker-image/Makefile b/f3s/anki-sync-server/docker-image/Makefile new file mode 100644 index 0000000..5da854f --- /dev/null +++ b/f3s/anki-sync-server/docker-image/Makefile @@ -0,0 +1,6 @@ +all: + docker build -t anki-sync-server:25.07.5b --build-arg ANKI_VERSION=25.07.5 . +f3s: + docker build -t anki-sync-server:25.07.5b --build-arg ANKI_VERSION=25.07.5 . + docker tag anki-sync-server:25.07.5b r0.lan.buetow.org:30001/anki-sync-server:25.07.5b + docker push r0.lan.buetow.org:30001/anki-sync-server:25.07.5b diff --git a/f3s/anki-sync-server/docker-image/entrypoint.sh b/f3s/anki-sync-server/docker-image/entrypoint.sh new file mode 100644 index 0000000..9a72cca --- /dev/null +++ b/f3s/anki-sync-server/docker-image/entrypoint.sh @@ -0,0 +1,31 @@ +#!/bin/sh +set -o errexit +set -o nounset +set -o pipefail + +# Default PUID and PGID if not provided +export PUID=${PUID:-1000} +export PGID=${PGID:-1000} + +# These values are fixed and cannot be overwritten from the outside for +# convenience and safety reasons +export SYNC_PORT=8080 +export SYNC_BASE=/anki_data + +# Check if group exists, create if not +if ! getent group anki-group > /dev/null 2>&1; then + addgroup -g "$PGID" anki-group +fi + +# Check if user exists, create if not +if ! id -u anki > /dev/null 2>&1; then + adduser -D -H -u "$PUID" -G anki-group anki +fi + +# Fix ownership of mounted volumes +mkdir -p /anki_data +#chown anki:anki-group /anki_data + +# Run the provided command as the `anki` user +exec su-exec anki "$@" + diff --git a/f3s/anki-sync-server/docker/Dockerfile b/f3s/anki-sync-server/docker/Dockerfile deleted file mode 100644 index 81fad85..0000000 --- a/f3s/anki-sync-server/docker/Dockerfile +++ /dev/null @@ -1,39 +0,0 @@ -FROM rust:1.85.0-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 \ ---locked \ -anki-sync-server - -FROM alpine:3.21.0 - -# Default PUID and PGID values (can be overridden at runtime). Use these to -# ensure the files on the volume have the permissions you need. -ENV PUID=1000 -ENV PGID=1000 - -COPY --from=builder /anki-server/bin/anki-sync-server /usr/local/bin/anki-sync-server - -RUN apk update && apk add --no-cache bash su-exec && rm -rf /var/cache/apk/* - -EXPOSE 8080 - -COPY entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh - -ENTRYPOINT ["/entrypoint.sh"] -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 wget -qO- http://127.0.0.1:8080/health || exit 1 - -VOLUME /anki_data - -LABEL maintainer="Jean Khawand " diff --git a/f3s/anki-sync-server/docker/Makefile b/f3s/anki-sync-server/docker/Makefile deleted file mode 100644 index 5da854f..0000000 --- a/f3s/anki-sync-server/docker/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -all: - docker build -t anki-sync-server:25.07.5b --build-arg ANKI_VERSION=25.07.5 . -f3s: - docker build -t anki-sync-server:25.07.5b --build-arg ANKI_VERSION=25.07.5 . - docker tag anki-sync-server:25.07.5b r0.lan.buetow.org:30001/anki-sync-server:25.07.5b - docker push r0.lan.buetow.org:30001/anki-sync-server:25.07.5b diff --git a/f3s/anki-sync-server/docker/entrypoint.sh b/f3s/anki-sync-server/docker/entrypoint.sh deleted file mode 100644 index 9a72cca..0000000 --- a/f3s/anki-sync-server/docker/entrypoint.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -set -o errexit -set -o nounset -set -o pipefail - -# Default PUID and PGID if not provided -export PUID=${PUID:-1000} -export PGID=${PGID:-1000} - -# These values are fixed and cannot be overwritten from the outside for -# convenience and safety reasons -export SYNC_PORT=8080 -export SYNC_BASE=/anki_data - -# Check if group exists, create if not -if ! getent group anki-group > /dev/null 2>&1; then - addgroup -g "$PGID" anki-group -fi - -# Check if user exists, create if not -if ! id -u anki > /dev/null 2>&1; then - adduser -D -H -u "$PUID" -G anki-group anki -fi - -# Fix ownership of mounted volumes -mkdir -p /anki_data -#chown anki:anki-group /anki_data - -# Run the provided command as the `anki` user -exec su-exec anki "$@" - -- cgit v1.2.3