Explorecraft_Logolcicusz_Kn.../Dockerfile

32 lines
877 B
Docker
Raw Normal View History

# Builder-Stage
FROM node:20-alpine AS builder
# Setzt das Arbeitsverzeichnis im Container
WORKDIR /git
# Kopiert den Repository-Inhalt in den Container
COPY . .
# Installiert Abhängigkeiten und baut die Site. Ausgabeverzeichnis ist /app/build
RUN yarn install && yarn run build
# Endstufe
FROM caddy:2-alpine
# Setzt das Arbeitsverzeichnis im Container
WORKDIR /app
# Kopiert das Build-Verzeichnis aus der Builder-Stage nach /web
COPY --from=builder /git/build /app
# Caddyfile-Konfiguration, um Dateien aus /web zu bedienen
RUN echo -e ":80 {\n root * /app\n try_files {path}.html {path}\n file_server\n}" > /etc/caddy/Caddyfile
# Macht Port 80 frei
EXPOSE 80
# Startet Caddy mit der gegebenen Caddyfile
CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]
# Befreit das Build-Verzeichnis aus der Builder-Stage
ONBUILD RUN rm -rf /git