Passer au contenu principal

Docker et docker-compose

L'installation d'A-Parser sur Linux et MacOS via docker est la méthode recommandée, nous avons préparé une image qui inclut toutes les dépendances et bibliothèques nécessaires au fonctionnement d'A-Parser et de Headless Chrome

Avant l'installation

Avant l'installation, vous devez renseigner l'IP dans l'Espace Membres.

Docker

Il est nécessaire d'installer Docker sur votre système.

Installation et lancement

Téléchargez et décompressez la distribution d'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
note

Le téléchargement s'effectue via un lien à usage unique pour Linux. Vous devez le récupérer dans l'Espace Membres, onglet A-Parser -> Téléchargements

Lancez-le en utilisant la commande :

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

L'option -foreground affiche le contenu du fichier log directement dans le terminal :

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

Après le lancement, A-Parser sera accessible à l'adresse http://127.0.0.1:9091

Pour lancer le conteneur en arrière-plan, utilisez la commande :

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

Optimisation de Linux pour un plus grand nombre de threads

Par défaut, une limite sur le nombre de fichiers/sockets ouverts s'applique également à l'intérieur du conteneur. Pour augmenter la limite à 10240 lors du lancement via Docker, utilisez l'option --ulimit :

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

Un réglage analogue peut être défini dans 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

Il est également recommandé d'effectuer une optimisation de Linux pour un plus grand nombre de threads sur le système hôte.

Mise à jour d'A-Parser

Arrêtez le conteneur :

docker stop aparser

Mettez à jour A-Parser :

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

Une fois la mise à jour terminée, lancez A-Parser

note

Vous pouvez également effectuer la mise à jour via l'interface ou par un lien à usage unique

docker-compose

Téléchargez et décompressez la distribution d'A-Parser :

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

Créez un fichier docker-compose.yml :

version: '3'

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

Lancez A-Parser :

docker compose up -d

TODO: (next) #### Connexion HTTPS via Let's Encrypt