Zum Hauptinhalt springen

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 eintragen.

Docker

Es ist notwendig, Docker in Ihrem System zu installieren.

Installation und Start

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
Hinweis

Der Download erfolgt über einen Einmal-Link für Linux. Diesen finden Sie im Mitgliederbereich, Tab A-Parser -> Downloads

Starten Sie mit dem Befehl:

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.

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

Linux-Tuning für eine höhere Anzahl von Threads

Standardmäßig gilt innerhalb des Containers ebenfalls eine Beschränkung für die Anzahl der offenen 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

Eine analoge Einstellung kann in der docker-compose.yml vorgenommen werden:

services:
a-parser:
image: aparser/runtime:latest
command: ./aparser
restart: always
volumes:
- ./aparser:/app
ports:
- 9091:9091
ulimits:
nofile:
soft: 10240
hard: 10240

Zusätzlich wird empfohlen, ein Linux-Tuning für eine höhere Anzahl von Threads auf dem Host-System durchzuführen.

A-Parser aktualisieren

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.

Hinweis

Sie können das Update auch über die Benutzeroberfläche oder per Einmal-Link durchführen.

docker-compose

Laden Sie die A-Parser-Distribution herunter und entpacken Sie diese:

curl -O https://a-parser.com/members/onetime/ce42f308eaa577b5/aparser.tar.gz
tar zxf aparser.tar.gz
rm -f aparser.tar.gz

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

Starten Sie A-Parser:

docker compose up -d

TODO: (next) #### HTTPS-Anbindung über Let's Encrypt