Files
IPAGo/Dockerfile
trojvn eecf026400 chore: move docker files to root directory
Move Dockerfile, ipatool, and docker-compose.yml from the docker directory to the root directory to simplify the project structure and improve maintainability. Update the paths in the Dockerfile to reflect the new locations.
2026-03-10 03:43:45 +03:00

36 lines
1.3 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# --- ЭТАП 1: Сборка ---
FROM golang:1.23-alpine AS builder
# Устанавливаем рабочую директорию
WORKDIR /app
# Копируем файлы зависимостей
# Это делается отдельно, чтобы Docker кэшировал слои с модулями
COPY go.mod go.sum ./
RUN go mod download
# Копируем исходный код
COPY . .
# Собираем бинарный файл
# CGO_ENABLED=0 нужен для статической линковки (чтобы работало в пустом образе)
# GOOS=linux гарантирует сборку под Linux
RUN CGO_ENABLED=0 GOOS=linux go build -o /app/server main.go
# --- ЭТАП 2: Запуск ---
FROM alpine:latest
# Устанавливаем часовой пояс и корневые сертификаты (важно для HTTPS запросов)
RUN apk --no-cache add ca-certificates tzdata
WORKDIR /app
# Копируем только скомпилированный файл из предыдущего этапа
COPY --from=builder /app/server .
COPY --from=builder /app/bin/ipatool .
# Открываем порт (тот же, что в коде Huma)
EXPOSE 8888
# Запускаем приложение
CMD ["./server"]