FROM libretranslate/libretranslate USER root RUN apt-get update && apt-get install -y \ curl unzip git python3-pip RUN mkdir -p /.local && chmod -R 777 /.local && \ mkdir -p /app/db/sessions && chmod -R 777 /app/db && \ mkdir -p /app/suggestions ENV HOME=/app # Install Kabyle Tasenselkimt model RUN curl -L -o /app/en_kab_comp.argosmodel \ https://huggingface.co/spaces/axxam/LibreTranslate_Kabyle/resolve/main/en_kab_comp.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/en_kab_comp.argosmodel')" # Install en-kab model RUN curl -L -o /app/en_kab-1_0.argosmodel \ https://huggingface.co/spaces/axxam/LibreTranslate_Kabyle/resolve/main/en_kab-1_0.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/en_kab-1_0.argosmodel')" # Install kab-en model RUN curl -L -o /app/kab_en-1_0.argosmodel \ https://huggingface.co/spaces/axxam/LibreTranslate_Kabyle/resolve/main/kab_en-1_0.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/kab_en-1_0.argosmodel')" # Install en-kab model 51000 RUN curl -L -o /app/en_kab-1_2.argosmodel \ https://huggingface.co/spaces/axxam/LibreTranslate_Kabyle/resolve/main/en_kab-1_2.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/en_kab-1_2.argosmodel')" # Install en-kab model 27500 with OpenSubtitles BT RUN curl -L -o /app/en_kab-1_0_os.argosmodel \ https://huggingface.co/spaces/axxam/LibreTranslate_Kabyle/resolve/main/en_kab-1_0_os.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/en_kab-1_0_os.argosmodel')" # Install en-kab model num 40000 RUN curl -L -o /app/en_kab-num40000.argosmodel \ https://huggingface.co/spaces/axxam/LibreTranslate_Kabyle/resolve/main/en_kab-num40000.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/en_kab-num40000.argosmodel')" # Install Occitan model RUN curl -L -o /app/translate-en_oc-1_0.argosmodel \ https://huggingface.co/spaces/axxam/LibreTranslate_Kabyle/resolve/main/translate-en_oc-1_0.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/translate-en_oc-1_0.argosmodel')" # Install Occitan 20000 model RUN curl -L -o /app/translate-en_oc-1_1.argosmodel \ https://huggingface.co/spaces/axxam/LibreTranslate_Kabyle/resolve/main/translate-en_oc-1_1.argosmodel && \ ls -lh /app/translate-en_oc-1_1.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/translate-en_oc-1_1.argosmodel')" # Install Occitan 26000 model RUN curl -L -o /app/en_oc-1_3.argosmodel \ https://huggingface.co/spaces/axxam/LibreTranslate_Kabyle/resolve/main/en_oc-1_3.argosmodel && \ ls -lh /app/en_oc-1_3.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/en_oc-1_3.argosmodel')" # Install English to Breton OPUS model RUN curl -L -o /app/opus-en_br-1_0.argosmodel \ https://huggingface.co/spaces/axxam/LibreTranslate_Kabyle/resolve/main/opus-en_br-1_0.argosmodel && \ ls -lh /app/opus-en_br-1_0.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/opus-en_br-1_0.argosmodel')" # Install English to French model RUN curl -L -o /app/en_fr.argosmodel \ https://argos-net.com/v1/translate-en_fr-1_9.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/en_fr.argosmodel')" # Install French to english model RUN curl -L -o /app/fr_en.argosmodel \ https://argos-net.com/v1/translate-fr_en-1_9.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/fr_en.argosmodel')" # Install Catalan to english model RUN curl -L -o /app/ca_en.argosmodel \ https://argos-net.com/v1/translate-ca_en-1_7.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/ca_en.argosmodel')" # Install English to Catalan model RUN curl -L -o /app/en_ca.argosmodel \ https://argos-net.com/v1/translate-en_ca-1_9.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/en_ca.argosmodel')" # Install German model RUN curl -L -o /app/en_de.argosmodel \ https://argos-net.com/v1/translate-en_de-1_0.argosmodel && \ /app/venv/bin/python3 -c "import argostranslate.package; argostranslate.package.install_from_path('/app/en_de.argosmodel')" # Install Hugging Face hub client RUN /app/venv/bin/pip install huggingface_hub COPY upload_suggestions.py /app/upload_suggestions.py ENV LT_HOST="0.0.0.0" ENV LT_PORT="7860" ENV LT_LOAD_ONLY="en,de,kab,kab_comp,kab_os,kab_num,oc,oc_comp" ENV LT_SSL=True ENV LT_SUGGESTIONS="false" ENV LT_REQ_LIMIT="100" ENV LT_FRONTEND_LANGUAGE_SOURCE="en" ENV LT_FRONTEND_LANGUAGE_TARGET="kab" ENV LT_MAX_TEXT_LENGTH=5000 ENV LT_CHAR_LIMIT=50000 ENV LT_CHAR_LIMIT_WINDOW=3600 ENTRYPOINT ["bash", "-c"] CMD ["/app/venv/bin/libretranslate & while true; do /app/venv/bin/python3 /app/upload_suggestions.py; sleep 60; done"]