# Используем базовый образ с 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