diff --git a/Dockerfile b/Dockerfile index 691932fd..7d0bb558 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,45 +1,41 @@ FROM debian:buster-slim -ARG dir="/home/pi/pialert" +# Todo, figure out why using a workdir instead of full paths don't work +# Todo, do we still need all these packages? I can already see sudo which isn't needed -#Update and reduce image size -RUN apt update \ - && apt install --no-install-recommends apt-utils cron sudo lighttpd php php-cgi php-fpm php-sqlite3 sqlite3 dnsutils net-tools python iproute2 -y \ - #Install without the --no-install-recommends flag - && apt install curl arp-scan -y \ - #clean-up - && apt clean autoclean \ - && apt autoremove - -#add the pi user -RUN useradd -ms /bin/bash pi -WORKDIR /home/pi +RUN apt-get update \ + && apt-get install --no-install-recommends ca-certificates curl libwww-perl arp-scan perl apt-utils cron sudo lighttpd php php-cgi php-fpm php-sqlite3 sqlite3 dnsutils net-tools python iproute2 -y \ + && apt-get clean autoclean \ + && apt-get autoremove \ + && rm -rf /var/lib/apt/lists/* # Lighttpd & PHP RUN mv /var/www/html/index.lighttpd.html /var/www/html/index.lighttpd.html.old \ - && ln -s $dir/install/index.html /var/www/html/index.html \ + && ln -s /home/pi/pialert/install/index.html /var/www/html/index.html \ && lighttpd-enable-mod fastcgi-php -COPY . $dir +COPY . /home/pi/pialert + +# Todo, is this tar part still needed? # delete .git/ files and the tar/ realese directory to make the image smaller -#RUN rm -r $dir/.git \ -RUN rm -r $dir/tar +#RUN rm -r /home/pi/pialert/.git \ +RUN rm -r /home/pi/pialert/tar + +# Todo, do we need to restart lighthttpd? # Pi.Alert -RUN ln -s $dir/front /var/www/html/pialert \ - && python $dir/back/pialert.py update_vendors \ - && (crontab -l 2>/dev/null; cat $dir/install/pialert.cron) | crontab - \ - && chgrp -R www-data $dir/db \ - && chmod -R 770 $dir/db \ +RUN ln -s /home/pi/pialert/front /var/www/html/pialert \ + && python /home/pi/pialert/back/pialert.py update_vendors \ + && (crontab -l 2>/dev/null; cat /home/pi/pialert/install/pialert.cron) | crontab - \ + && chgrp -R www-data /home/pi/pialert/db \ + && chmod -R 770 /home/pi/pialert/db \ # changing the default port number 80 to something random, here 20211 && sed -ie 's/= 80/= 20211/g' /etc/lighttpd/lighttpd.conf \ && service lighttpd restart -# Expose the below port EXPOSE 20211 -# Set up startup script to run two commands, cron and the lighttpd server -RUN chmod +x $dir/dockerfiles/start.sh +# Todo, can we just use CMD and ENTRYPOINT instead of a script? -CMD ["/home/pi/pialert/dockerfiles/start.sh"] +CMD ["/home/pi/pialert/dockerfiles/start.sh"] \ No newline at end of file diff --git a/dockerfiles/start.sh b/dockerfiles/start.sh old mode 100644 new mode 100755