sx2 / Dockerfile
adowu's picture
Update Dockerfile
b32af59 verified
# Użyj oficjalnego obrazu Python 3.10 jako podstawy
FROM python:3.10
# Ustaw katalog roboczy
WORKDIR /code
# Aktualizacja pip
RUN pip install --upgrade pip
# Klonowanie repozytorium Searx
RUN git clone https://github.com/searx/searx.git /code/searx-src
# Kopiowanie pliku webapp.py do katalogu aplikacji
RUN cp /code/searx-src/searx/webapp.py /code/searx/
# Ręczna instalacja pakietu PyYAML z pominięciem izolacji budowania
RUN pip install --no-build-isolation PyYAML==6.0
# Instalacja pakietu lxml z prekompilowanego koła
RUN pip install --pre --no-build-isolation lxml==4.9.2
# Instalacja wymaganych pakietów
RUN pip install -r /code/searx-src/requirements.txt
# Ustawienie środowiska wirtualnego
ENV VIRTUAL_ENV=/usr/local/searx/searx-pyenv
RUN echo "source $VIRTUAL_ENV/bin/activate" > /etc/profile.d/searx-pyenv.sh
# Utworzenie użytkownika i ustawienie uprawnień
RUN useradd -m -s /bin/bash searx && chown -R searx:searx /code
USER searx
# Ustawienie zmiennej środowiskowej wskazującej ścieżkę do pliku ustawień
ENV SEARX_SETTINGS_PATH=/etc/searx/settings.yml
# Kopiowanie domyślnego pliku ustawień
RUN mkdir -p /etc/searx && cp /code/searx-src/utils/templates/etc/searx/use_default_settings.yml /etc/searx/settings.yml
# Udostępnienie portu
EXPOSE 8888
CMD ["python", "/code/searx/webapp.py"]