2024-07-06 10:12:16 +00:00
|
|
|
# syntax=docker/dockerfile:1
|
2024-07-06 09:38:42 +00:00
|
|
|
|
2024-07-06 10:12:16 +00:00
|
|
|
# Stage 1: Build the binary
|
|
|
|
FROM golang:1.22.5-alpine AS brudi_builder
|
2024-07-06 09:38:42 +00:00
|
|
|
|
2024-07-06 10:12:16 +00:00
|
|
|
# Set necessary environment variables needed for our image
|
|
|
|
ENV GO111MODULE=on \
|
|
|
|
CGO_ENABLED=0
|
|
|
|
|
|
|
|
# Set the Current Working Directory inside the container
|
|
|
|
WORKDIR /build
|
|
|
|
|
|
|
|
# Install git
|
|
|
|
RUN apk add --no-cache git
|
|
|
|
|
|
|
|
# Clone the repository
|
|
|
|
RUN git clone https://github.com/mittwald/brudi.git .
|
|
|
|
|
|
|
|
# Download all dependencies. Dependencies will be cached if the go.mod and go.sum files are not changed
|
|
|
|
RUN go mod download
|
|
|
|
|
|
|
|
# Build the Go app for the current architecture
|
|
|
|
RUN go build -o brudi
|
|
|
|
|
|
|
|
# # Stage 2: Create the final image
|
|
|
|
# FROM alpine:latest
|
|
|
|
|
|
|
|
# # Set the Current Working Directory inside the container
|
|
|
|
# WORKDIR /app
|
|
|
|
|
|
|
|
# # Copy the pre-built binary from the builder stage
|
|
|
|
# COPY --from=builder /build/brudi .
|
|
|
|
|
|
|
|
# # Command to run the binary
|
|
|
|
# CMD ["./brudi"]
|
2024-07-06 09:38:42 +00:00
|
|
|
|
|
|
|
|
2024-02-15 02:01:10 +00:00
|
|
|
FROM postgres:16.2-alpine3.19
|
2023-12-19 00:46:54 +00:00
|
|
|
|
2024-02-13 23:39:07 +00:00
|
|
|
LABEL maintainer="s83 <https://github.com/s83>"
|
2023-12-25 18:29:13 +00:00
|
|
|
|
|
|
|
ENV BRUDI_USER="brudi" \
|
|
|
|
BRUDI_GID="1000" \
|
|
|
|
BRUDI_UID="1000"
|
2024-07-06 10:12:16 +00:00
|
|
|
|
|
|
|
COPY --from=brudi_builder /build/brudi /usr/local/bin/brudi
|
2024-02-13 23:38:15 +00:00
|
|
|
COPY --from=restic/restic:0.16.4 /usr/bin/restic /usr/local/bin/restic
|
2024-02-15 02:03:05 +00:00
|
|
|
COPY --from=redis:7.2.4-alpine3.19 /usr/local/bin/redis-cli /usr/local/bin/redis-cli
|
2023-12-25 18:29:13 +00:00
|
|
|
|
|
|
|
RUN apk add --no-cache --upgrade \
|
|
|
|
mysql-client \
|
|
|
|
rclone \
|
|
|
|
curl \
|
|
|
|
&& \
|
|
|
|
addgroup \
|
|
|
|
-S "${BRUDI_USER}" \
|
|
|
|
-g "${BRUDI_GID}" \
|
|
|
|
&& \
|
|
|
|
adduser \
|
|
|
|
-u "${BRUDI_UID}" \
|
|
|
|
-S \
|
|
|
|
-G "${BRUDI_USER}" \
|
2023-12-25 19:03:15 +00:00
|
|
|
"${BRUDI_USER}" \
|
|
|
|
&& mkdir -p /home/${BRUDI_USER}/.config/rclone \
|
|
|
|
&& touch /home/${BRUDI_USER}/.config/rclone/rclone.conf
|
2023-12-25 18:29:13 +00:00
|
|
|
|
|
|
|
USER ${BRUDI_USER}
|
|
|
|
WORKDIR /home/${BRUDI_USER}
|
|
|
|
|
|
|
|
ENTRYPOINT ["brudi"]
|
2024-07-06 09:38:42 +00:00
|
|
|
|