forked from github-mirror/Verome-API
36 lines
1.4 KiB
Docker
36 lines
1.4 KiB
Docker
# ── Стадия 1: кэш зависимостей ──────────────────────────────────────────────
|
|
FROM denoland/deno:alpine-2.2.3 AS deps
|
|
|
|
WORKDIR /app
|
|
|
|
# Копируем только файлы, влияющие на зависимости
|
|
COPY deno.json deno.lock* ./
|
|
COPY mod.ts lib.ts ui.ts proxy.ts ./
|
|
|
|
# Прогреваем кэш Deno (скачивает и компилирует все импорты)
|
|
RUN deno cache mod.ts
|
|
|
|
# ── Стадия 2: финальный образ ────────────────────────────────────────────────
|
|
FROM denoland/deno:alpine-2.2.3
|
|
|
|
WORKDIR /app
|
|
|
|
# Копируем прогретый кэш из предыдущей стадии
|
|
COPY --from=deps /deno-dir /deno-dir
|
|
|
|
# Копируем весь проект
|
|
COPY . .
|
|
|
|
# Порт по умолчанию (можно переопределить через ENV PORT=...)
|
|
ENV PORT=8000
|
|
|
|
EXPOSE ${PORT}
|
|
|
|
# Переменные для HTTP-прокси (задаются при запуске контейнера)
|
|
# Пример: docker run -e HTTPS_PROXY=http://host:port ...
|
|
ENV HTTPS_PROXY=""
|
|
ENV HTTP_PROXY=""
|
|
ENV NO_PROXY="localhost,127.0.0.1"
|
|
|
|
CMD ["run", "--allow-net", "--allow-env", "--allow-read", "mod.ts"]
|