Files
oxTTT/Dockerfile

43 lines
916 B
Docker

# ============================
# Стадия 1: Сборка
# ============================
FROM python:3.12-slim AS builder
# Устанавливаем Go
RUN apt-get update && \
apt-get install -y --no-install-recommends golang-go && \
rm -rf /var/lib/apt/lists/*
# Копируем проект
WORKDIR /app
COPY . .
# Генерация кода
RUN python generate.py server ./server/toe/
# Статическая сборка Go
ENV CGO_ENABLED=0 \
GOOS=linux \
GOARCH=amd64
# Если ты на Mac M1/M2/M3 — ставь arm64:
# ENV GOARCH=arm64
RUN go build -o /app/main ./server/main.go
# ============================
# Стадия 2: Запуск
# ============================
FROM debian:bookworm-slim
# Копируем бинарник
COPY --from=builder /app/main /app/main
# Делаем исполняемым
RUN chmod +x /app/main
WORKDIR /app
CMD ["/app/main"]