Download Dockerfile from magicboris/language_tool_fasttext_demo: direct link, hf CLI and curl.
- Browser
- Download file 3.28 kB
-
https://huggingface.co/spaces/magicboris/language_tool_fasttext_demo/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/magicboris/language_tool_fasttext_demo/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/magicboris/language_tool_fasttext_demo/resolve/main/Dockerfile
3.28 kB
| # Используем базовый образ с 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 | |