add docker support

This commit is contained in:
James 2021-01-03 17:39:04 +00:00
parent f739042cfd
commit 2ece7c9e99
3 changed files with 52 additions and 0 deletions

17
docker/Dockerfile Normal file
View File

@ -0,0 +1,17 @@
FROM markizano/devuan:beowulf-amd64
RUN apt-get update
RUN apt-get install -y php-cli git unzip php-xml
COPY get_composer.sh /root/
RUN bash /root/get_composer.sh && rm /root/get_composer.sh
RUN mkdir /app
WORKDIR /app
RUN composer init && composer config repositories.jhodges composer https://composer.jhodges.co.uk && composer require jhodges/sitemap
COPY crawl.php /app/
RUN apt clean
ENTRYPOINT php crawl.php

18
docker/crawl.php Normal file
View File

@ -0,0 +1,18 @@
<?php
require_once(__DIR__.'/vendor/autoload.php');
use \JHodges\Sitemap\Crawler;
if(!$url=getenv('CRAWL_URL')){
die("No env: CRAWL_URL\n");
}
$crawler=new Crawler();
$crawler->crawl($url);
foreach($crawler->getResults() as $url=>$result){
echo("{$result['code']} {$url}\n");
foreach($result['foundOn'] as $url=>$count){
echo(" <- ($count) $url\n");
}
}

17
docker/get_composer.sh Normal file
View File

@ -0,0 +1,17 @@
#!/bin/sh
EXPECTED_CHECKSUM="$(wget -q -O - https://composer.github.io/installer.sig)"
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]
then
>&2 echo 'ERROR: Invalid installer checksum'
rm composer-setup.php
exit 1
fi
php composer-setup.php --1 --filename=composer --install-dir=/usr/local/bin
RESULT=$?
rm composer-setup.php
exit $RESULT