diff --git a/docker/Dockerfile b/docker/Dockerfile index 17abcd4..17f1fd6 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,23 +1,22 @@ FROM php:7.4.21-apache -ENV APP_VERSION=1.0.0 +ARG APP_VERSION=v1.0.0Do RUN apt-get update && \ - apt-get install -y less nano tini curl tar git zip unzip && \ + apt-get install -y --no-install-recommends less nano tini curl tar git zip unzip && \ #echo "**** # To install networking tools for testing purpose ****" && \ - apt-get install -y iputils-ping dnsutils net-tools procps + apt-get install -y --no-install-recommends iputils-ping dnsutils net-tools procps && \ #echo "**** cleanup ****" && \ - #apt-get autoremove -y && \ - #apt-get clean -y + apt-get autoremove -y && \ + apt-get clean -y -# curl -SL -o app.tar.gz "https://github.com/giandonatoinverso/PHP-Dynamic-Qr-code/archive/${APP_VERSION}.tar.gz" \ -RUN curl -SL -o app.tar.gz "https://github.com/giandonatoinverso/PHP-Dynamic-Qr-code/archive/refs/heads/master.tar.gz" \ +RUN curl -SL -o app.tar.gz "https://github.com/giandonatoinverso/PHP-Dynamic-Qr-code/archive/${APP_VERSION}.tar.gz" \ && mkdir -p /app \ && tar xvf app.tar.gz -C /app --strip-components=1 \ && cp -r /app/qrcode/** /var/www/html \ && rm app.tar.gz RUN apt-get update -RUN apt-get install -y libzip-dev libjpeg62-turbo-dev libpng-dev libfreetype6-dev +RUN apt-get install -y --no-install-recommends libzip-dev libjpeg62-turbo-dev libpng-dev libfreetype6-dev # install composer RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" diff --git a/docker/README.md b/docker/README.md index 0c6e838..7bbecc4 100644 --- a/docker/README.md +++ b/docker/README.md @@ -1,25 +1,30 @@ ### How to run this image + - currently this image must be build locally.(in future can be pulled from docker hub) - create folder to mount inside docker container - - `mkdir -p ./data/mariadb ./data/app/config ./data/app/saved_qrcode` + - `mkdir -p ./data/mariadb ./data/app/config ./data/app/saved_qrcode` - Run and build this image as host machine user - - `PUID="$(id -u)" PGID="$(id -g)" docker-compose up --build -d` + - `PUID="$(id -u)" PGID="$(id -g)" docker-compose up --build -d` - Run and build this image as specific user - - `PUID="1000" PGID="1000" docker-compose up --build -d` -- Run app installation :8080/install/setup.php + - `PUID="1000" PGID="1000" docker-compose up --build -d` +- Run app installation :8080/install + - Provide Database credentials - Default login: :8080 - - user: superadmin - - password: superadmin + - user: superadmin + - password: superadmin ### Roadmap + - Make install process run via docker-compose. - - Work is partially done. docker-entrypoint.sh is created.(currently disabled due to next steps are pending) + - Work is partially done. docker-entrypoint.sh is created.(currently disabled due to next steps are pending) + - qrcode/install/database.php should be adjusted to create database without form submission. - Make it possible to set PUID and GUID, from environment variable in docker-compose.yml . - Reduce image size by removing unnecessary dependencies. - Automate Build image and push to docker hub. - Audit security flaws and fix it if needed. -### some debug commands +### Some debug commands + - `docker-compose logs` - `PUID="$(id -u)" PGID="$(id -g)" docker-compose config` -- `ps -aef | grep apache2` +- `ps -aef | grep apache2` \ No newline at end of file