FROM php:7.4-fpm USER root WORKDIR /var/www # Install dependencies RUN apt-get update \ # gd && apt-get install -y --no-install-recommends build-essential procps openssl nginx libfreetype6-dev libjpeg-dev libpng-dev libwebp-dev zlib1g-dev libzip-dev gcc g++ make vim unzip curl git jpegoptim optipng pngquant gifsicle locales libonig-dev \ && docker-php-ext-configure gd \ && docker-php-ext-install gd \ # gmp && apt-get install -y --no-install-recommends libgmp-dev \ && docker-php-ext-install gmp \ # pdo_mysql && docker-php-ext-install pdo_mysql mbstring \ # pdo && docker-php-ext-install pdo \ # opcache && docker-php-ext-enable opcache \ # zip && docker-php-ext-install zip \ && apt-get autoclean -y \ && rm -rf /var/lib/apt/lists/* \ && rm -rf /tmp/pear/ ENV NVM_DIR /root/.nvm ENV NODE_VERSION 15.12.0 RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash \ && . $NVM_DIR/nvm.sh \ && nvm install $NODE_VERSION \ && nvm alias default $NODE_VERSION \ && nvm use default ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH # Copy files COPY . /var/www COPY ./deploy/local.ini /usr/local/etc/php/local.ini COPY ./deploy/conf.d/nginx.conf /etc/nginx/nginx.conf RUN chmod +rwx /var/www \ && chown -R www-data: /var/www/storage # setup npm RUN npm install -g npm@latest \ && npm install \ && npm run prod # setup composer and laravel RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && composer install --working-dir="/var/www" \ && composer dump-autoload --working-dir="/var/www" \ && php artisan route:clear \ && php artisan route:cache \ && php artisan config:clear \ && php artisan config:cache EXPOSE 80 RUN ["chmod", "+x", "post_deploy.sh"] CMD [ "bash", "./post_deploy.sh" ] # CMD php artisan serve --host=127.0.0.1 --port=9000