|
| 1 | +FROM php:7.4.21-apache |
| 2 | +ENV APP_VERSION=1.0.0 |
| 3 | + |
| 4 | +RUN apt-get update && \ |
| 5 | + apt-get install -y less nano tini curl tar git zip unzip && \ |
| 6 | + #echo "**** # To install networking tools for testing purpose ****" && \ |
| 7 | + apt-get install -y iputils-ping dnsutils net-tools procps |
| 8 | + #echo "**** cleanup ****" && \ |
| 9 | + #apt-get autoremove -y && \ |
| 10 | + #apt-get clean -y |
| 11 | + |
| 12 | +# curl -SL -o app.tar.gz "https://github.com/giandonatoinverso/PHP-Dynamic-Qr-code/archive/${APP_VERSION}.tar.gz" \ |
| 13 | +RUN curl -SL -o app.tar.gz "https://github.com/giandonatoinverso/PHP-Dynamic-Qr-code/archive/refs/heads/master.tar.gz" \ |
| 14 | + && mkdir -p /app \ |
| 15 | + && tar xvf app.tar.gz -C /app --strip-components=1 \ |
| 16 | + && cp -r /app/qrcode/** /var/www/html \ |
| 17 | + && rm app.tar.gz |
| 18 | + |
| 19 | +RUN apt-get update |
| 20 | +RUN apt-get install -y libzip-dev libjpeg62-turbo-dev libpng-dev libfreetype6-dev |
| 21 | + |
| 22 | +# install composer |
| 23 | +RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" |
| 24 | +RUN php composer-setup.php |
| 25 | +RUN rm composer-setup.php |
| 26 | +RUN mv composer.phar /usr/local/bin/composer |
| 27 | + |
| 28 | +# Install extensions |
| 29 | +RUN docker-php-source extract |
| 30 | +RUN docker-php-ext-install pdo_mysql zip exif pcntl gd |
| 31 | +RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli |
| 32 | +RUN docker-php-ext-install gettext && docker-php-ext-enable gettext |
| 33 | +RUN docker-php-ext-install sockets && docker-php-ext-enable sockets |
| 34 | + |
| 35 | +RUN mv "/usr/local/etc/php/php.ini-production" "/usr/local/etc/php/php.ini" |
| 36 | + |
| 37 | +WORKDIR /var/www/html |
| 38 | + |
| 39 | +COPY ./config/docker-entrypoint.sh /bin/docker-entrypoint.sh |
| 40 | +RUN chmod +x /bin/docker-entrypoint.sh |
| 41 | +COPY ./config/vhost.conf /etc/apache2/sites-available/000-default.conf |
| 42 | +RUN a2enmod rewrite |
| 43 | + |
| 44 | +ENV APP_USER appuser |
| 45 | +ARG PUID=1000 |
| 46 | +ARG PGID=1000 |
| 47 | +RUN groupadd -g ${PGID} $APP_USER \ |
| 48 | + && useradd -M -u ${PUID} -g ${PGID} $APP_USER \ |
| 49 | + && chown -R $APP_USER:$APP_USER /var/run/apache2 \ |
| 50 | + && chown -R $APP_USER:$APP_USER /var/log \ |
| 51 | + && chown -R $APP_USER:$APP_USER /etc/apache2 \ |
| 52 | + && chown -R $APP_USER:$APP_USER /var/lib/apache2 \ |
| 53 | + && chown -R $APP_USER:$APP_USER /var/www |
| 54 | +USER $APP_USER |
| 55 | +CMD apache2ctl -D FOREGROUND |
| 56 | + |
| 57 | +EXPOSE 80 |
| 58 | + |
| 59 | +# needs to fix install process to create database and then below line can be commented out |
| 60 | +#ENTRYPOINT ["/bin/docker-entrypoint.sh"] |
0 commit comments