File size: 3,282 Bytes
43a053e e4f115e 43a053e 2191495 e4f115e 9b23833 43a053e d8eb6b1 f05034d 43a053e e4f115e e0a221f e4f115e 43a053e d8eb6b1 2191495 d8eb6b1 2191495 e4f115e 43a053e e4f115e d8eb6b1 43a053e e4f115e 43a053e e4f115e d8eb6b1 43a053e e4f115e 43a053e 1367717 43a053e d8eb6b1 e4f115e 43a053e e4f115e 2191495 e4f115e d8eb6b1 43a053e d8eb6b1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | # Используем базовый образ с OpenJDK (Java Development Kit)
FROM openjdk:17-jdk-slim
# Устанавливаем рабочую директорию для скачивания и промежуточных файлов
WORKDIR /app
ARG LANGTOOL_VERSION="6.6"
# --- Переменные для новой FastText модели compress-fasttext ---
ARG FASTTEXT_MODEL_NAME="geowac_tokens_sg_300_5_2020-400K-100K-300.bin"
ARG FASTTEXT_MODEL_URL="https://github.com/avidale/compress-fasttext/releases/download/gensim-4-draft/${FASTTEXT_MODEL_NAME}"
# -------------------------------------------------------------
# Ожидаемое имя директории после распаковки LanguageTool zip
ARG LANGTOOL_DIR_NAME="LanguageTool-${LANGTOOL_VERSION}"
# --- Преобразование ARGs в ENVs для использования в CMD ---
ENV LANGTOOL_VERSION=${LANGTOOL_VERSION}
ENV FASTTEXT_MODEL_NAME=${FASTTEXT_MODEL_NAME}
ENV LANGTOOL_DIR_NAME=${LANGTOOL_DIR_NAME}
# --- Конец преобразования ---
# Устанавливаем пакеты для скачивания и распаковки (wget, unzip)
RUN apt-get update && \
apt-get install -y --no-install-recommends wget unzip && \
rm -rf /var/lib/apt/lists/*
# Скачиваем LanguageTool server zip
RUN echo "Downloading LanguageTool zip..." && \
wget https://languagetool.org/download/LanguageTool-${LANGTOOL_VERSION}.zip -O languagetool.zip
# --- Настройка FastText с compress-fasttext модели ---
# Скачиваем FastText модель (.bin файл напрямую)
RUN echo "Downloading FastText model from GitHub Releases..." && \
wget "${FASTTEXT_MODEL_URL}" -O "/app/${FASTTEXT_MODEL_NAME}"
# -----------------------------------------------------
# Распаковываем LanguageTool zip в /app (создаст /app/LanguageTool-X.Y/)
RUN echo "Unzipping LanguageTool..." && \
unzip languagetool.zip -d /app/ && \
rm languagetool.zip
# Перемещаем скачанную FastText модель (.bin) внутрь директории LanguageTool
RUN echo "Moving FastText model (.bin) to LanguageTool directory..." && \
mv "/app/${FASTTEXT_MODEL_NAME}" "/app/${LANGTOOL_DIR_NAME}/"
# Устанавливаем рабочую директорию внутри контейнера на директорию LanguageTool
WORKDIR "/app/${LANGTOOL_DIR_NAME}"
# Создаем файл конфигурации server.properties
RUN echo "Creating server.properties configuration file..." && \
echo "fasttextModel=${FASTTEXT_MODEL_NAME}" > server.properties && \
echo "motherTongue=ru" >> server.properties
# --- Отладочные шаги ---
RUN echo "Listing contents of WORKDIR: $(pwd)"
RUN ls -la ./
RUN echo "Listing contents of libs directory: ./libs/"
RUN ls -la ./libs/ || true
RUN echo "Contents of server.properties:"
RUN cat server.properties
# --- Конец отладочных шагов ---
EXPOSE 8010
# Исправленная команда для запуска LanguageTool server
CMD java -Xmx8g -cp "*:libs/*" org.languagetool.server.HTTPServer \
--config server.properties \
--allow-origin '*' \
--public \
--port 8010
|