Vai al contenuto principale

Docker e docker-compose

L'installazione di A-Parser su Linux e MacOS tramite Docker è il metodo consigliato; abbiamo preparato un'immagine che include tutte le dipendenze e le librerie necessarie per il funzionamento di A-Parser e Headless Chrome.

Prima dell'installazione

Prima dell'installazione è necessario registrare l'IP nell'Area membri.

Docker

È necessario installare Docker nel proprio sistema.

Installazione e avvio

Scarica e decomprimi la distribuzione di A-Parser:

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
nota

Il download avviene tramite un link monouso per Linux. È possibile ottenerlo nell'Area membri, scheda A-Parser -> Download

Avvia utilizzando il comando:

docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t aparser/runtime ./aparser -foreground

L'opzione -foreground visualizza il contenuto del file di log direttamente nel terminale:

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

Dopo l'avvio, A-Parser sarà disponibile all'indirizzo http://127.0.0.1:9091

Per avviare il contenitore in background, usa il comando:

docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t -d aparser/runtime ./aparser

Ottimizzazione di Linux per un numero maggiore di thread

Per impostazione predefinita, all'interno del contenitore è attivo anche un limite al numero di file/socket aperti. Per aumentare il limite a 10240 durante l'avvio tramite Docker, usa l'opzione --ulimit:

docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 --ulimit nofile=10240:10240 -t -d aparser/runtime ./aparser

Una configurazione simile può essere impostata in docker-compose.yml:

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

Inoltre, si consiglia di eseguire l'ottimizzazione di Linux per un numero maggiore di thread sul sistema host.

Aggiornamento di A-Parser

Ferma il contenitore:

docker stop aparser

Aggiorna A-Parser:

docker run --rm --name aparser -v $(pwd)/aparser:/app -p 9091:9091 -t aparser/runtime ./aparser -foreground -doupdate

Al termine dell'aggiornamento, avvia A-Parser

nota

Puoi anche usufruire dell'aggiornamento tramite l'interfaccia o tramite link monouso

docker-compose

Scarica e decomprimi la distribuzione di A-Parser:

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

Crea il file docker-compose.yml:

version: '3'

services:
a-parser:
image: aparser/runtime:latest
command: ./aparser
restart: always
volumes:
- ./aparser:/app
ports:
- 9091:9091

Avvia A-Parser:

docker compose up -d

TODO: (next) #### Connessione HTTPS tramite Let's Encrypt