tbm-git-repo-service/Dockerfile
2026-01-08 14:40:58 +07:00

43 lines
No EOL
915 B
Docker

FROM rustlang/rust:nightly-slim AS builder
WORKDIR /app
# Install build dependencies
RUN apt update && apt install -y \
musl-tools \
musl-dev \
build-essential \
libssl-dev \
curl \
pkg-config \
ca-certificates \
protobuf-compiler \
zlib1g
# Copy dependency files first for better caching
COPY Cargo.toml Cargo.lock ./
COPY ./src ./src
COPY build.rs ./
COPY tbm-proto ./tbm-proto
# Download config
RUN curl -X GET https://pakin-inspiron-15-3530.tail110d9.ts.net/pakin/tbm-git-repo-service/releases/download/config/.tbcfg -o .tbcfg
# Build the application
ENV RUSTFLAGS="-C target-feature=+crt-static"
RUN cargo build --release
# Builder
FROM gcr.io/distroless/cc
# Copy the binary
COPY --from=builder /app/target/release/tbm-git-repo-service /
COPY --from=builder /app/.tbcfg /
# Create data directory
EXPOSE 36583
# Environment defaults
CMD ["./tbm-git-repo-service"]