mirror of
https://github.com/StepanovPlaton/AboutMe.git
synced 2026-04-03 20:30:49 +04:00
41 lines
1.4 KiB
Docker
41 lines
1.4 KiB
Docker
# Используем официальный Node.js образ
|
||
FROM node:22-alpine
|
||
|
||
# Устанавливаем pnpm глобально
|
||
RUN npm install -g pnpm@9.14.4
|
||
|
||
# Устанавливаем рабочую директорию
|
||
WORKDIR /app
|
||
|
||
# Копируем файлы конфигурации пакетов
|
||
COPY package.json pnpm-lock.yaml ./
|
||
|
||
# Устанавливаем зависимости
|
||
# Если lockfile не синхронизирован, обновляем его автоматически
|
||
RUN pnpm install
|
||
|
||
# Копируем остальные файлы проекта
|
||
COPY . .
|
||
|
||
# Устанавливаем переменную окружения для Docker
|
||
ENV DOCKER=true
|
||
|
||
# Accept build arguments and set environment variables
|
||
ARG OAUTH_GITHUB_CLIENT_ID
|
||
ARG OAUTH_GITHUB_CLIENT_SECRET
|
||
ENV OAUTH_GITHUB_CLIENT_ID=${OAUTH_GITHUB_CLIENT_ID}
|
||
ENV OAUTH_GITHUB_CLIENT_SECRET=${OAUTH_GITHUB_CLIENT_SECRET}
|
||
|
||
# Собираем проект
|
||
RUN pnpm run build
|
||
|
||
# Открываем порт (Node.js adapter по умолчанию использует 4321)
|
||
EXPOSE 4321
|
||
|
||
# Устанавливаем переменную окружения для порта
|
||
ENV PORT=4321
|
||
ENV HOST=0.0.0.0
|
||
|
||
# Запускаем Astro сервер через Node.js adapter
|
||
# В standalone режиме entry point находится в dist/server/entry.mjs
|
||
CMD ["node", "dist/server/entry.mjs"] |