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