Files
Muza-API/Dockerfile
2026-03-06 04:00:48 +05:00

39 lines
1.5 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"
# Volume for persistent proxy config (proxy.config.json)
VOLUME ["/app"]
CMD ["run", "--allow-net", "--allow-env", "--allow-read", "--allow-write", "mod.ts"]