From f242ef1681c5d17fbdf54e18634cc7f0c1da1c10 Mon Sep 17 00:00:00 2001 From: socrates Date: Mon, 11 Dec 2023 12:53:21 +0100 Subject: [PATCH] first docker functionality --- .gitignore | 1 + Dockerfile | 13 +++++++++++++ settings.json => conf/conf.json | 8 ++++---- parser.py | 8 +++++--- 4 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 Dockerfile rename settings.json => conf/conf.json (59%) diff --git a/.gitignore b/.gitignore index a37273b..17d4a6d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ files/ +logs/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7b5e516 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM debian:bookworm-slim + +ENV DEBIAN_FRONTEND=noninteractive +RUN apt update && apt install -y python3-openpyxl python3-selenium python3-pyvirtualdisplay && rm -rf /var/lib/apt/lists/* + +COPY kill-chrome /app/ +COPY parser.py /app/ +COPY conf/conf.json /app/conf/ +RUN mkdir -p /app/files +RUN mkdir -p /app/log + +WORKDIR /app/ +CMD ./parser.py \ No newline at end of file diff --git a/settings.json b/conf/conf.json similarity index 59% rename from settings.json rename to conf/conf.json index 89d9495..7fcad95 100644 --- a/settings.json +++ b/conf/conf.json @@ -1,14 +1,14 @@ { "oo_url": "https://cloud.diakonie-hamburg.de/index.php/apps/onlyoffice/s/EnjlEAC3pBX1gZn?fileId=5267", - "logfile": "/var/log/dw-parser/dw-parser.log", - "files": "/home/socrates/dw-parser/files/", - "loglevel": "WARNING", + "logfile": "log/dw-parser.log", + "files": "files/", + "loglevel": "DEBUG", "smtp_server": "smtp.gmail.com", "smtp_port": "587", "smtp_password": "gkrybqzhzkkggbrh", "smtp_user": "sockenklaus@gmail.com", - "email_recipient": "koenig@bodelschwingh.com, behr@bodelschwingh.com", + "email_recipient": "pascalkoenig@duck.com", "max_col": 100, "__max_row": 25 diff --git a/parser.py b/parser.py index 38a36d2..b2aeefe 100755 --- a/parser.py +++ b/parser.py @@ -14,7 +14,7 @@ import time import sys def load_settings(): - with open('settings.json') as file: + with open('conf/conf.json') as file: return json.load(file) def fetch_via_browser(newfile): @@ -27,9 +27,11 @@ def fetch_via_browser(newfile): "download.default_directory" : set['files'], "profile.default_content_settings.popups" : 0, } - logging.info(prefs) + logging.info("prefs: ", prefs) options.add_experimental_option("prefs", prefs) - options.add_argument("--headless=new") + options.add_argument("--headless") + options.add_argument("--disable-dev-shm-usage") + options.add_argument("--no-sandbox") browser = webdriver.Chrome(options=options) wait = WebDriverWait(browser, 10)