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