/
Andromeda141
/
Adventure-service
Обзор
Документация
Войти
/
Andromeda141
/
Adventure-service
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
dockerfile
33 строки
2 KB
andrewvnukov
Realease 1.3
12 июн 2026, 23:35
12 июн 2026, 23:35
37a7494
Код
Авторство
О чём код?
# ─── Stage 0: Clone source from git ─────────────────────────────────────────── FROM alpine/git AS source ARG CACHE_BUST=1 RUN git clone --depth=1 https://gitverse.ru/Andromeda141/Adventure-service.git /src # ─── Stage 1: Build React frontend ──────────────────────────────────────────── FROM node:20-alpine AS frontend WORKDIR /workspace COPY --from=source /src/frontend ./frontend/ RUN cd frontend && npm ci --prefer-offline RUN cd frontend && npm run build # ─── Stage 2: Build Go binary ───────────────────────────────────────────────── FROM golang:1.24-bookworm AS builder ENV GOTOOLCHAIN=auto WORKDIR /src COPY --from=source /src/go.mod /src/go.sum ./ RUN go mod download COPY --from=source /src . COPY --from=frontend /workspace/web/dist ./web/dist RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \ go build -ldflags="-s -w" -o /tripserver . # ─── Stage 3: Minimal runtime image ─────────────────────────────────────────── FROM debian:bookworm-slim RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY --from=builder /tripserver ./tripserver COPY --from=builder /src/web/dist ./web/dist EXPOSE 8080 CMD ["./tripserver"]