* WIP * Add debug * Dedupe inserts * Add deterministic ordering * Fix whitespaces * Update insta * Add integration test script * Rename * Add test * Working for non-deletes * omg it mostly works for deletes * Isdeleted fix * remove created dates * update api * Take document id * No max attempt * works * Use string uuids * . * working!!!! (hopefully) * Improve bundling * Add module * lint * . * lint * Fix CI * use toolchain * clean up * Add useSlowFileEvents * Delete fuzz * Fix CI * use docker * fix script * clean up * Clean up * change node version * Build docker image on every commit * fix ci * 1 db per vault * Add scritps folder * Bump versions * Lint * . * Fix tests for real * Style * . * try * Consistent ordering * Fix tests * hmm * . * Clean up diff * Fixes * . * Fix version bump * . * . * .
34 lines
813 B
Docker
34 lines
813 B
Docker
FROM rust:1.83 AS builder
|
|
|
|
WORKDIR /usr/src/backend
|
|
|
|
RUN apt update && apt install -y musl-tools
|
|
RUN cargo install sqlx-cli
|
|
|
|
COPY . .
|
|
|
|
RUN sqlx database create --database-url sqlite://db.sqlite3
|
|
RUN sqlx migrate run --source sync_server/src/database/migrations --database-url sqlite://db.sqlite3
|
|
|
|
RUN cargo build --package sync_server --release --target x86_64-unknown-linux-musl
|
|
|
|
# Runtime image
|
|
FROM alpine:3.21.0
|
|
|
|
LABEL org.opencontainers.image.authors="andras@schmelczer.dev"
|
|
|
|
RUN apk add --no-cache curl
|
|
|
|
COPY --from=builder /usr/src/backend/target/x86_64-unknown-linux-musl/release/sync_server /app/sync_server
|
|
|
|
VOLUME /data/databases
|
|
EXPOSE 3000/tcp
|
|
|
|
WORKDIR /data
|
|
|
|
HEALTHCHECK \
|
|
--interval=30s \
|
|
--timeout=5s \
|
|
CMD curl -f http://localhost:3000/ping || exit 1
|
|
|
|
ENTRYPOINT ["/app/sync_server"]
|