From c1cdde7ef83fa414b5f29899654f6a5dd6703df8 Mon Sep 17 00:00:00 2001 From: Igor Shalyminov Date: Wed, 7 Apr 2021 01:22:40 +0100 Subject: [PATCH 1/3] Dockerfile for armhf added --- Dockerfile.armhf | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Dockerfile.armhf diff --git a/Dockerfile.armhf b/Dockerfile.armhf new file mode 100644 index 0000000..987714f --- /dev/null +++ b/Dockerfile.armhf @@ -0,0 +1,30 @@ +FROM python:3.7-slim-buster +WORKDIR /code +RUN sed -i "s#deb http://deb.debian.org/debian buster main#deb http://deb.debian.org/debian buster main contrib non-free#g" /etc/apt/sources.list \ + && apt-get update \ + && apt-get install -y --no-install-recommends --no-install-suggests \ + bzip2 \ + wget \ + gcc \ + g++ \ + firefox-esr \ + # cryptography build dependencies + libffi-dev \ + libssl-dev \ + rustc \ + cargo \ + && wget -O '/tmp/requirements.txt' https://raw.githubusercontent.com/InstaPy/instapy-docker/master/requirements.txt \ + && pip install --no-cache-dir -U -r /tmp/requirements.txt \ + && apt-get purge -y --auto-remove \ + gcc \ + g++ \ + bzip2 \ + rustc \ + cargo \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/requirements.txt \ + # Disabling geckodriver log file + && sed -i "s#browser = webdriver.Firefox(#browser = webdriver.Firefox(service_log_path=os.devnull,#g" /usr/local/lib/python3.7/site-packages/instapy/browser.py \ + # Fix webdriverdownloader not handling asc files + && sed -i "s#bitness in name]#bitness in name and name[-3:] != 'asc' ]#g" /usr/local/lib/python3.7/site-packages/webdriverdownloader/webdriverdownloader.py +CMD ["python", "docker_quickstart.py"] From 8075a8e0ef803361878c9a0ebabe5b87e41209ec Mon Sep 17 00:00:00 2001 From: Igor Shalyminov Date: Mon, 12 Apr 2021 03:46:45 +0100 Subject: [PATCH 2/3] geckodriver for armhf is now built from source (mozilla-central trunk) --- Dockerfile.armhf | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 987714f..fba3de7 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -3,7 +3,6 @@ WORKDIR /code RUN sed -i "s#deb http://deb.debian.org/debian buster main#deb http://deb.debian.org/debian buster main contrib non-free#g" /etc/apt/sources.list \ && apt-get update \ && apt-get install -y --no-install-recommends --no-install-suggests \ - bzip2 \ wget \ gcc \ g++ \ @@ -11,20 +10,31 @@ RUN sed -i "s#deb http://deb.debian.org/debian buster main#deb http://deb.debian # cryptography build dependencies libffi-dev \ libssl-dev \ - rustc \ - cargo \ + # for building geckodriver from source + curl \ + unzip \ + # cross-compiler toolchain + gcc-arm-linux-gnueabihf \ + libc6-armhf-cross \ + libc6-dev-armhf-cross \ + # rust language for building cryptography and geckodriver + && curl https://sh.rustup.rs -sSf | sh -s -- -y \ + && . $HOME/.cargo/env \ + && rustup target install armv7-unknown-linux-gnueabihf \ + && wget https://hg.mozilla.org/mozilla-central/archive/tip.zip \ + && unzip tip.zip \ + && mv mozilla-central-* mozilla-central \ + && rm tip.zip \ + && printf "[target.armv7-unknown-linux-gnueabihf]\nlinker = \"arm-linux-gnueabihf-gcc\"" >> mozilla-central/testing/geckodriver/.cargo/config \ + && cd mozilla-central/testing/geckodriver \ + && cargo build --release --target armv7-unknown-linux-gnueabihf \ + && cd - \ + && cp mozilla-central/target/armv7-unknown-linux-gnueabihf/release/geckodriver /usr/bin/ \ + && rm -rf mozilla-central \ && wget -O '/tmp/requirements.txt' https://raw.githubusercontent.com/InstaPy/instapy-docker/master/requirements.txt \ && pip install --no-cache-dir -U -r /tmp/requirements.txt \ - && apt-get purge -y --auto-remove \ - gcc \ - g++ \ - bzip2 \ - rustc \ - cargo \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/requirements.txt \ # Disabling geckodriver log file && sed -i "s#browser = webdriver.Firefox(#browser = webdriver.Firefox(service_log_path=os.devnull,#g" /usr/local/lib/python3.7/site-packages/instapy/browser.py \ - # Fix webdriverdownloader not handling asc files - && sed -i "s#bitness in name]#bitness in name and name[-3:] != 'asc' ]#g" /usr/local/lib/python3.7/site-packages/webdriverdownloader/webdriverdownloader.py CMD ["python", "docker_quickstart.py"] From a8bffba5c5fdd89c6639cfd2766b489d0f5426c1 Mon Sep 17 00:00:00 2001 From: Igor Shalyminov Date: Tue, 20 Apr 2021 02:07:06 +0100 Subject: [PATCH 3/3] fix --- Dockerfile.armhf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index fba3de7..420a241 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -36,5 +36,6 @@ RUN sed -i "s#deb http://deb.debian.org/debian buster main#deb http://deb.debian && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/requirements.txt \ # Disabling geckodriver log file - && sed -i "s#browser = webdriver.Firefox(#browser = webdriver.Firefox(service_log_path=os.devnull,#g" /usr/local/lib/python3.7/site-packages/instapy/browser.py \ + && sed -i "s#browser = webdriver.Firefox(#browser = webdriver.Firefox(service_log_path=os.devnull,#g" /usr/local/lib/python3.7/site-packages/instapy/browser.py +COPY *.py /code/ CMD ["python", "docker_quickstart.py"]