Matt Burchett
2e10d5d0ab
All checks were successful
continuous-integration/drone/push Build is passing
70 lines
1.9 KiB
Docker
70 lines
1.9 KiB
Docker
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
|