Try
This commit is contained in:
parent
d513ad9824
commit
aada6a3b87
2 changed files with 15 additions and 14 deletions
1
.github/workflows/publish-docker.yml
vendored
1
.github/workflows/publish-docker.yml
vendored
|
|
@ -67,6 +67,7 @@ jobs:
|
||||||
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
|
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
|
||||||
with:
|
with:
|
||||||
context: sync-server
|
context: sync-server
|
||||||
|
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
push: ${{ github.ref_type == 'tag' }}
|
push: ${{ github.ref_type == 'tag' }}
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
|
|
||||||
|
|
@ -1,33 +1,33 @@
|
||||||
FROM rust:1.89 AS builder
|
FROM rust:1.89-alpine AS builder
|
||||||
|
|
||||||
WORKDIR /usr/src/backend
|
WORKDIR /usr/src/backend
|
||||||
|
|
||||||
RUN apt update && apt install -y musl-tools
|
# Install build dependencies for Alpine
|
||||||
RUN cargo install sqlx-cli
|
RUN apk add --no-cache musl-dev pkgconf openssl-dev perl make
|
||||||
|
|
||||||
|
# Install sqlx-cli
|
||||||
|
RUN cargo install sqlx-cli --features=openssl-vendored
|
||||||
|
|
||||||
|
# Setup database and build
|
||||||
COPY . .
|
COPY . .
|
||||||
|
RUN sqlx database create --database-url sqlite://db.sqlite3 && \
|
||||||
RUN sqlx database create --database-url sqlite://db.sqlite3
|
sqlx migrate run --source src/app_state/database/migrations --database-url sqlite://db.sqlite3 && \
|
||||||
RUN sqlx migrate run --source src/app_state/database/migrations --database-url sqlite://db.sqlite3
|
cargo build --release
|
||||||
|
|
||||||
RUN cargo build --release --target x86_64-unknown-linux-musl
|
|
||||||
|
|
||||||
# Runtime image
|
# Runtime image
|
||||||
FROM alpine:3.22.0
|
FROM alpine:3.22.0
|
||||||
|
|
||||||
LABEL org.opencontainers.image.authors="andras@schmelczer.dev"
|
LABEL org.opencontainers.image.authors="andras@schmelczer.dev"
|
||||||
|
|
||||||
RUN apk add --no-cache curl
|
RUN apk add --no-cache curl ca-certificates
|
||||||
|
|
||||||
COPY --from=builder /usr/src/backend/target/x86_64-unknown-linux-musl/release/sync_server /app/sync_server
|
COPY --from=builder /usr/src/backend/target/release/sync_server /app/sync_server
|
||||||
|
|
||||||
VOLUME /data
|
VOLUME /data
|
||||||
EXPOSE 3000/tcp
|
EXPOSE 3000/tcp
|
||||||
WORKDIR /data
|
WORKDIR /data
|
||||||
|
|
||||||
HEALTHCHECK \
|
HEALTHCHECK --interval=30s --timeout=5s \
|
||||||
--interval=30s \
|
|
||||||
--timeout=5s \
|
|
||||||
CMD curl -f http://localhost:3000/vaults/fake/ping || exit 1
|
CMD curl -f http://localhost:3000/vaults/fake/ping || exit 1
|
||||||
|
|
||||||
ENTRYPOINT ["/app/sync_server"]
|
ENTRYPOINT ["/app/sync_server"]
|
||||||
Loading…
Add table
Add a link
Reference in a new issue