# 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"]