anki-sync-server/anki-sync/Dockerfile

33 lines
883 B
Docker

# Set the base image
FROM rust:latest as builder
# Install dependencies
RUN apt-get update && apt-get install -y protobuf-compiler
# Build the Anki sync server
WORKDIR /usr/src/ankisyncd
RUN cargo install --git https://github.com/ankitects/anki.git --tag 2.1.66 anki-sync-server
# Create a deploy image for smaller size
FROM debian:bookworm-slim
COPY --from=builder /usr/local/cargo/bin/anki-sync-server /usr/local/bin/
# Set environment variables for the sync server
ENV ANKISYNCD_DATA_ROOT=/data
ENV ANKISYNCD_AUTH_DB_PATH=/data/auth.db
ENV ANKISYNCD_SESSION_DB_PATH=/data/session.db
ENV SYNC_BASE=/data
# Create a directory for data
VOLUME /data
# Expose the default port
EXPOSE 27701
# Copy the entrypoint script and make it executable
COPY bin/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Set the entrypoint for the container
ENTRYPOINT ["/entrypoint.sh"]