44 lines
1.1 KiB
Docker
44 lines
1.1 KiB
Docker
# Stage 1: Build the Go application
|
|
FROM golang:1.23-alpine AS builder
|
|
|
|
# Install git
|
|
RUN apk update && apk add --no-cache git
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Klone das Git-Repository (ersetze die URL durch die deines Repos)
|
|
RUN git clone https://git.diefleckenbuehler.de/RochoElLocho/EK-Suche-GO.git .
|
|
# Überprüfe die Go-Version (optional, zum Debuggen)
|
|
RUN go version
|
|
|
|
# Lade die Abhängigkeiten herunter
|
|
RUN go mod download
|
|
|
|
# Baue die Anwendung und stelle sicher, dass index.html im finalen Image ist
|
|
RUN go build -o ek-suche .
|
|
|
|
# Stage 2: Create the final image
|
|
FROM alpine:latest
|
|
|
|
# Setze das Arbeitsverzeichnis
|
|
WORKDIR /app
|
|
|
|
# Kopiere die gebaute Anwendung vom Builder
|
|
COPY --from=builder /app/ek-suche /app/ek-suche
|
|
|
|
# Kopiere die index.html und den public-Ordner vom Builder
|
|
COPY --from=builder /app/index.html /app/index.html
|
|
COPY --from=builder /app/popup.html /app/popup.html
|
|
COPY --from=builder /app/public/ /app/public/
|
|
|
|
|
|
# Stelle sicher, dass die Anwendung ausführbar ist
|
|
RUN chmod +x /app/ek-suche
|
|
|
|
# Exponiere den Port, den deine Anwendung verwendet (z.B. 80)
|
|
EXPOSE 80
|
|
|
|
# Setze den Eintragspunkt
|
|
ENTRYPOINT ["/app/ek-suche"]
|