Files
EventHubBack/docker/Debug.Dockerfile

38 lines
1.3 KiB
Docker

# ============================================================
# Одноэтапный Dockerfile (сборка и рантайм в одном образе)
# ============================================================
FROM erlang:28-alpine
# Устанавливаем инструменты для сборки и runtime-зависимости
RUN apk add --no-cache \
# для сборки
git curl make gcc musl-dev \
rust cargo openssl-dev libsodium-dev \
# для рантайма
openssl libstdc++ libgcc ncurses-libs
# Рабочая директория
WORKDIR /app
# Копируем конфигурацию и исходники
COPY rebar.config ./
COPY include/ include/
COPY src/ src/
COPY src/config/sys.config ./config/sys.config
# Собираем зависимости и релиз
RUN rebar3 get-deps && \
rebar3 as prod release
# Создаём директорию для данных
RUN mkdir -p /app/data && chmod 777 /app/data
# Настраиваем порты
EXPOSE 8080 8081 8445 8446
# Переменные окружения
ENV RELX_REPLACE_OS_VARS=true
ENV MNESIA_DIR=/app/data
# Запускаем приложение из собранного релиза
CMD ["/app/_build/prod/rel/eventhub/bin/eventhub", "foreground"]