Ana içeriğe atla

Docker ve docker-compose

A-Parser'ın Linux ve MacOS üzerine docker aracılığıyla kurulması önerilen yöntemdir; A-Parser ve Headless Chrome'un çalışması için gerekli tüm bağımlılıkları ve kitaplıkları içeren bir imaj hazırladık.

Kurulumdan önce

Kurulumdan önce Üye Paneli'nde IP adresini tanımlamanız gerekir.

Docker

Sisteminize Docker kurmanız gerekmektedir.

Kurulum ve başlatma

A-Parser dağıtımını indirin ve paketinden çıkarın:

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
not

İndirme işlemi Linux için tek kullanımlık bir bağlantı üzerinden gerçekleşir. Bu bağlantıyı Üye Paneli içerisindeki A-Parser -> İndirmeler sekmesinden almanız gerekir.

Şu komutu kullanarak çalıştırın:

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

Aşağıdaki -foreground seçeneği, günlük dosyası içeriğini doğrudan terminale yazdırır:

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

Başlatıldıktan sonra A-Parser şu adresten erişilebilir olacaktır: http://127.0.0.1:9091

Konteyneri arka planda çalıştırmak için şu komutu kullanın:

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

Daha fazla iş parçacığı için Linux optimizasyonu

Varsayılan olarak, konteyner içinde açık dosya/soket sayısı sınırı da geçerlidir. Docker üzerinden çalıştırırken limiti 10240'a çıkarmak için --ulimit seçeneğini kullanın:

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

Benzer bir ayar docker-compose.yml dosyasında da tanımlanabilir:

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

Ek olarak, ana makinede daha fazla iş parçacığı için Linux optimizasyonu yapılması önerilir.

A-Parser Güncelleme

Konteyneri durdurun:

docker stop aparser

A-Parser'ı güncelleyin:

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

Güncelleme tamamlandığında A-Parser'ı başlatın

not

Ayrıca arayüz üzerinden veya tek kullanımlık bağlantı ile güncellemeyi kullanabilirsiniz

docker-compose

A-Parser dağıtımını indirin ve paketinden çıkarın:

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

Bu docker-compose.yml dosyasını oluşturun:

version: '3'

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

A-Parser'ı başlatın:

docker compose up -d

TODO: (next) #### Let's Encrypt üzerinden HTTPS bağlantısı