Merge pull request 'simple-build' (#1) from simple-build into main

Reviewed-on: Ayaka/redlib#1
This commit is contained in:
Ayaka 2024-04-09 00:41:39 +12:00
commit 9b52524548
2 changed files with 37 additions and 5 deletions

View File

@ -1,16 +1,28 @@
FROM alpine:3.19 FROM rust:1.77.1-buster AS builder
WORKDIR /app
COPY ./ ./
RUN cargo build --release
FROM debian:stable
ARG TARGET ARG TARGET
RUN apk add --no-cache curl RUN apt-get update
RUN apt-get install -y ca-certificates wget
RUN curl -L https://github.com/redlib-org/redlib/releases/latest/download/redlib-${TARGET}.tar.gz | \ RUN apt-get clean -y; \
tar xz -C /usr/local/bin/ rm -rf /var/lib/apt/lists/* /var/cache/apt/*
COPY --from=builder /app/target/release/ /usr/local/bin
RUN adduser --home /nonexistent --no-create-home --disabled-password redlib RUN adduser --home /nonexistent --no-create-home --disabled-password redlib
USER redlib USER redlib
# Tell Docker to expose port 8080 # Tell Docker to expose port 808
EXPOSE 8080 EXPOSE 8080
# Run a healthcheck every minute to make sure redlib is functional # Run a healthcheck every minute to make sure redlib is functional

20
Dockerfile.old Normal file
View File

@ -0,0 +1,20 @@
FROM alpine:3.19
ARG TARGET
RUN apk add --no-cache curl
RUN curl -L https://github.com/redlib-org/redlib/releases/latest/download/redlib-${TARGET}.tar.gz | \
tar xz -C /usr/local/bin/
RUN adduser --home /nonexistent --no-create-home --disabled-password redlib
USER redlib
# Tell Docker to expose port 8080
EXPOSE 8080
# Run a healthcheck every minute to make sure redlib is functional
HEALTHCHECK --interval=1m --timeout=3s CMD wget --spider --q http://localhost:8080/settings || exit 1
CMD ["redlib"]