diff --git a/backend/.dockerignore b/backend/.dockerignore index d4e6012f..e3630304 100644 --- a/backend/.dockerignore +++ b/backend/.dockerignore @@ -1,4 +1,9 @@ target Dockerfile .dockerignore -db.sqlite3 +db.sqlite3* +*.log +sync_lib/pkg +fuzz/artifacts +fuzz/corpus +fuzz/coverage diff --git a/backend/Dockerfile b/backend/Dockerfile index a9da71b6..d94f75b8 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -14,10 +14,22 @@ RUN sqlx migrate run --source sync_server/src/database/migrations --database-url 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 -WORKDIR /data +WORKDIR /app + +EXPOSE 3000/tcp + +HEALTHCHECK \ + --interval=30s \ + --timeout=5s \ + CMD curl -f http://localhost:3000/ping || exit 1 ENTRYPOINT ["/app/sync_server"]