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