kopia lustrzana https://github.com/bellingcat/auto-archiver
35 wiersze
1.3 KiB
Docker
35 wiersze
1.3 KiB
Docker
# stage 1 - all dependencies
|
|
From python:3.10
|
|
|
|
WORKDIR /app
|
|
|
|
# TODO: use custom ffmpeg builds instead of apt-get install
|
|
RUN pip install --upgrade pip && \
|
|
pip install pipenv && \
|
|
apt-get update && \
|
|
apt-get install -y gcc ffmpeg fonts-noto firefox-esr && \
|
|
wget https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux64.tar.gz && \
|
|
tar -xvzf geckodriver* -C /usr/local/bin && \
|
|
chmod +x /usr/local/bin/geckodriver && \
|
|
rm geckodriver-v*
|
|
|
|
|
|
# install docker for WACZ
|
|
# TODO: currently disabled see https://github.com/bellingcat/auto-archiver/issues/66
|
|
# RUN curl -fsSL https://get.docker.com | sh
|
|
|
|
# TODO: avoid copying unnecessary files, including .git
|
|
COPY Pipfile Pipfile.lock ./
|
|
RUN pipenv install --python=3.10 --system --deploy
|
|
ENV IS_DOCKER=1
|
|
# doing this at the end helps during development, builds are quick
|
|
COPY ./src/ .
|
|
|
|
# TODO: figure out how to make volumes not be root, does it depend on host or dockerfile?
|
|
# RUN useradd --system --groups sudo --shell /bin/bash archiver && chown -R archiver:sudo .
|
|
# USER archiver
|
|
ENTRYPOINT ["python"]
|
|
# ENTRYPOINT ["docker-entrypoint.sh"]
|
|
|
|
# should be executed with 2 volumes (3 if local_storage)
|
|
# docker run -v /var/run/docker.sock:/var/run/docker.sock -v $PWD/secrets:/app/secrets -v $PWD/local_archive:/app/local_archive aa --help |