diff --git a/Dockerfile b/Dockerfile index 0046a66..bc76e2b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,30 +1,32 @@ FROM webrecorder/browsertrix-crawler:1.0.4 ENV RUNNING_IN_DOCKER=1 +ENV PATH="/root/.local/bin:$PATH" WORKDIR /app RUN pip install --upgrade pip && \ - pip install pipenv && \ - add-apt-repository ppa:mozillateam/ppa && \ - apt-get update && \ - apt-get install -y gcc ffmpeg fonts-noto exiftool && \ - apt-get install -y --no-install-recommends firefox-esr && \ - ln -s /usr/bin/firefox-esr /usr/bin/firefox && \ - wget https://github.com/mozilla/geckodriver/releases/download/v0.33.0/geckodriver-v0.33.0-linux64.tar.gz && \ - tar -xvzf geckodriver* -C /usr/local/bin && \ - chmod +x /usr/local/bin/geckodriver && \ - rm geckodriver-v* + curl -sSL https://install.python-poetry.org | python3 - --version 1.8.3 && \ + poetry --version && \ + add-apt-repository ppa:mozillateam/ppa && \ + apt-get update && \ + apt-get install -y gcc ffmpeg fonts-noto exiftool && \ + apt-get install -y --no-install-recommends firefox-esr && \ + ln -s /usr/bin/firefox-esr /usr/bin/firefox && \ + wget https://github.com/mozilla/geckodriver/releases/download/v0.33.0/geckodriver-v0.33.0-linux64.tar.gz && \ + tar -xvzf geckodriver* -C /usr/local/bin && \ + chmod +x /usr/local/bin/geckodriver && \ + rm geckodriver-v* +COPY pyproject.toml poetry.lock ./ -COPY Pipfile* ./ -# install from pipenv, with browsertrix-only requirements -RUN pipenv install +# Verify Poetry installation and install dependencies +RUN poetry install --no-root # doing this at the end helps during development, builds are quick -COPY ./src/ . +COPY ./src/ . -ENTRYPOINT ["pipenv", "run", "python3", "-m", "auto_archiver"] +ENTRYPOINT ["poetry", "run", "python3", "-m", "auto_archiver"] # should be executed with 2 volumes (3 if local_storage is used) # docker run --rm -v $PWD/secrets:/app/secrets -v $PWD/local_archive:/app/local_archive aa pipenv run python3 -m auto_archiver --config secrets/orchestration.yaml