Docker und docker-compose
Die Installation von A-Parser auf Linux und MacOS über Docker ist die empfohlene Methode. Wir haben ein Image vorbereitet, das alle notwendigen Abhängigkeiten und Bibliotheken für den Betrieb von A-Parser und Headless Chrome enthält.
Vor der Installation
- Vor der Installation müssen Sie die IP im Mitgliederbereich registrieren.
- Sie müssen Docker installieren auf Ihrem System.
Download der Distribution
Laden Sie die A-Parser-Distribution herunter und entpacken Sie diese:
curl -O https://a-parser.com/members/onetime/ce42f308eaa577b5/aparser-linux-x64.tar.gz
tar zxf aparser-linux-x64.tar.gz
rm -f aparser-linux-x64.tar.gz
Der Download erfolgt über einen Einmal-Link für Linux. Diesen finden Sie im Mitgliederbereich, Tab A-Parser -> Downloads
Start über Docker
Start im Foreground-Modus
Starten Sie A-Parser im Foreground-Modus, um die Logs im Terminal zu sehen:
docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t aparser/runtime ./aparser -foreground
Die Option -foreground gibt den Inhalt der Log-Datei direkt im Terminal aus:
Apr 27 07:06:53.10427 [master] foreground mode
Apr 27 07:06:54.06409 [master] Found local Chromium: /app/dist/nodejs/node_modules/puppeteer/.local-chromium/linux-856583/chrome-linux/chrome
Apr 27 07:06:55.36487 [master] NodeJS console: [Rank::CMS] total loaded 1446 apps
Apr 27 07:07:19.01377 [master] Start ProxyChecker nocheck
Apr 27 07:07:19.24418 [master] Start ProxyChecker default
Apr 27 07:07:19.62635 [master] A-Parser v1.2.1176-linux-x64 started, tasks: 0 / 2, memory total: 1989 MB, available: 610 MB
Nach dem Start ist A-Parser unter der Adresse http://127.0.0.1:9091 erreichbar.
Start im Hintergrund
Um den Container im Hintergrund zu starten, verwenden Sie den Befehl:
docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t -d aparser/runtime ./aparser
Thread-Tuning beim Start über Docker
Standardmäßig gilt innerhalb des Containers eine Beschränkung für die Anzahl der geöffneten Dateien/Sockets. Um das Limit beim Start über Docker auf 10240 zu erhöhen, verwenden Sie die Option --ulimit:
docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 --ulimit nofile=10240:10240 -t -d aparser/runtime ./aparser
Zusätzlich wird empfohlen, ein Linux-Tuning für eine höhere Anzahl von Threads auf dem Host-System durchzuführen.
Aktualisierung von A-Parser im Docker-Container
Stoppen Sie den Container:
docker stop aparser
Aktualisieren Sie A-Parser:
docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t aparser/runtime ./aparser -foreground -doupdate
Starten Sie A-Parser nach Abschluss des Updates.
Sie können das Update auch über die Benutzeroberfläche oder per Einmal-Link durchführen.
Start im Headful-Modus
Verwenden Sie das Image aparser/runtime:headful für die Datenerfassung von Websites, die den Start des Browsers im Headful-Modus (mit virtuellem Display) erfordern.
Um vom Standard-Image auf Headful zu wechseln:
Stoppen Sie den Container:
docker stop aparser
Laden Sie das Headful-Image herunter:
docker pull aparser/runtime:headful
Starten Sie A-Parser mit dem neuen Image:
docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t -d aparser/runtime:headful ./aparser
Ersetzen Sie für docker-compose das Image in der docker-compose.yml:
image: aparser/runtime:headful
Führen Sie anschließend aus:
docker compose up -d
Aktivieren Sie nach dem Start in den Scraper-Einstellungen Chrome headless: 0. Im Log sollte beim Start von Chrome Headful angezeigt werden.
Der novnc-Server ist auf Port 5900 zur visuellen Kontrolle verfügbar, das Passwort wird über die Variable VNC_PASSWORD festgelegt (Standard: docker).
Start über docker-compose
Beispiel für docker-compose.yml
Erstellen Sie die Datei docker-compose.yml:
version: '3'
services:
a-parser:
image: aparser/runtime:latest
command: ./aparser
restart: always
volumes:
- ./aparser:/app
ports:
- 9091:9091
Start über docker-compose
Starten Sie A-Parser:
docker compose up -d
Thread-Tuning in docker-compose
Beim Start über docker-compose gilt innerhalb des Containers eine Beschränkung für die Anzahl der geöffneten Dateien/Sockets. Um das Limit auf 10240 zu erhöhen, fügen Sie dem Service a-parser den Block ulimits hinzu:
services:
a-parser:
image: aparser/runtime:latest
command: ./aparser
restart: always
volumes:
- ./aparser:/app
ports:
- 9091:9091
ulimits:
nofile:
soft: 10240
hard: 10240
Es wird außerdem empfohlen, ein Linux-Tuning für eine höhere Thread-Anzahl auf dem Host-System durchzuführen.