-
Notifications
You must be signed in to change notification settings - Fork 68
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into feat/unittest
- Loading branch information
Showing
12 changed files
with
3,338 additions
and
2,350 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,3 +29,4 @@ auto_archiver.egg-info* | |
logs* | ||
*.csv | ||
archived/ | ||
dist* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,58 @@ | ||
FROM webrecorder/browsertrix-crawler:1.0.4 | ||
FROM webrecorder/browsertrix-crawler:1.0.4 AS base | ||
|
||
ENV RUNNING_IN_DOCKER=1 | ||
ENV RUNNING_IN_DOCKER=1 \ | ||
LANG=C.UTF-8 \ | ||
LC_ALL=C.UTF-8 \ | ||
PYTHONDONTWRITEBYTECODE=1 \ | ||
PYTHONFAULTHANDLER=1 \ | ||
PATH="/root/.local/bin:$PATH" | ||
|
||
WORKDIR /app | ||
|
||
RUN pip install --upgrade pip && \ | ||
pip install pipenv && \ | ||
add-apt-repository ppa:mozillateam/ppa && \ | ||
# Installing system dependencies | ||
RUN 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 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* | ||
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* && \ | ||
apt-get clean && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
|
||
# Poetry and runtime | ||
FROM base AS runtime | ||
|
||
COPY Pipfile* ./ | ||
# install from pipenv, with browsertrix-only requirements | ||
RUN pipenv install | ||
ENV POETRY_NO_INTERACTION=1 \ | ||
POETRY_VIRTUALENVS_IN_PROJECT=1 \ | ||
POETRY_VIRTUALENVS_CREATE=1 | ||
|
||
# doing this at the end helps during development, builds are quick | ||
COPY ./src/ . | ||
|
||
ENTRYPOINT ["pipenv", "run", "python3", "-m", "auto_archiver"] | ||
RUN pip install --upgrade pip && \ | ||
pip install "poetry>=2.0.0,<3.0.0" | ||
|
||
WORKDIR /app | ||
|
||
|
||
COPY pyproject.toml poetry.lock README.md ./ | ||
# Copy dependency files and install dependencies (excluding the package itself) | ||
RUN poetry install --only main --no-root --no-cache | ||
|
||
|
||
# Copy code: This is needed for poetry to install the package itself, | ||
# but the environment should be cached from the previous step if toml and lock files haven't changed | ||
COPY ./src/ . | ||
RUN poetry install --only main --no-cache | ||
|
||
|
||
# Update PATH to include virtual environment binaries | ||
# Allowing entry point to run the application directly with Python | ||
ENV VIRTUAL_ENV=/app/.venv \ | ||
PATH="/app/.venv/bin:$PATH" | ||
|
||
ENTRYPOINT ["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 | ||
|
Oops, something went wrong.