# Base-Image
FROM alpine AS build_stage

# Pakete installieren
RUN apk update
RUN apk add --no-cache build-base gcc curl vim net-tools
RUN apk add --no-cache bash

# Arbeitsverzeichnis setzen
WORKDIR /app

# alles kopieren
COPY . .

# Code kompilieren
RUN gcc -o deployment deployment.c

FROM alpine AS runtime

RUN apk add --no-cache bash

#RUN adduser -u 1000 -g 1000 -D -s /bin/bash fabian

WORKDIR /app

COPY --from=build_stage /app/deployment .

# Verzeichnis für Ausgabe anlegen
#USER root
RUN mkdir /output && chown 1000:1000 /output
#USER fabian
USER 1000:1000

VOLUME ["/output"]

#Healthcheck
HEALTHCHECK --interval=30s CMD test -f /output/output.txt || exit 1

# Ausgabe wird ins Container-Dateisystem geschrieben
ENTRYPOINT ["/bin/bash", "-c"]
CMD ["./deployment 10 > /output/output.txt && tail -f /output/output.txt"]
