mirror of
https://github.com/bitinflow/bpkg-images.git
synced 2026-03-13 13:45:54 +00:00
Optimize image size
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
on: [push, pull_request]
|
||||
on: [ push ]
|
||||
name: Build
|
||||
jobs:
|
||||
build:
|
||||
33
check-platform-reqs.sh
Executable file
33
check-platform-reqs.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$#" -eq 0 ]; then
|
||||
VERSION_MATRIX=('bpkg.io/laravel:8.0-octane' 'bpkg.io/laravel:8.1-octane')
|
||||
else
|
||||
VERSION_MATRIX=("$@")
|
||||
fi
|
||||
|
||||
EXTENSION_MATRIX=(
|
||||
'bcmath' 'curl' 'date' 'imagick' 'exif' 'fileinfo' 'hash' 'PDO' 'sockets'
|
||||
'json' 'mbstring' 'pdo_mysql' 'pdo_sqlite' 'sqlite3' 'zip' 'pcntl' 'redis'
|
||||
'swoole' 'posix' 'gd' 'mongodb'
|
||||
)
|
||||
|
||||
for version in "${VERSION_MATRIX[@]}"
|
||||
do
|
||||
for extension in "${EXTENSION_MATRIX[@]}"
|
||||
do
|
||||
command="$command if(!extension_loaded('$extension')) { echo 'ERROR: Extension $extension on $version is missing.' . PHP_EOL;}"
|
||||
done
|
||||
|
||||
command="$command echo 'upload_max_filesize: ' . ini_get('upload_max_filesize') . PHP_EOL;"
|
||||
command="$command echo 'post_max_size: ' . ini_get('post_max_size') . PHP_EOL;"
|
||||
|
||||
RESULT=$(docker run -it --rm "$version" php -r "$command")
|
||||
|
||||
echo "$RESULT"
|
||||
|
||||
if [[ $RESULT == *"ERROR"* ]]; then
|
||||
echo "Checks failed, abort."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
@@ -4,17 +4,23 @@ WORKDIR /var/www/html
|
||||
|
||||
# STSTEM: Install required packages
|
||||
RUN apk --no-cache upgrade && \
|
||||
apk --no-cache add bash git sudo openssh libxml2-dev postgresql-dev oniguruma-dev autoconf gcc g++ make npm freetype-dev libjpeg-turbo-dev libpng-dev libzip-dev
|
||||
|
||||
# COMPOSER: install binary and prestissimo
|
||||
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
|
||||
|
||||
# PHP: install extensions
|
||||
RUN pecl channel-update pecl.php.net
|
||||
RUN pecl install ssh2 swoole
|
||||
RUN docker-php-ext-configure gd --with-freetype --with-jpeg
|
||||
RUN docker-php-ext-install mbstring xml pcntl gd zip sockets pdo pdo_pgsql pdo_mysql bcmath
|
||||
RUN docker-php-ext-enable mbstring xml gd zip swoole pcntl sockets bcmath pdo pdo_pgsql pdo_mysql
|
||||
apk --no-cache add bash git openssh npm gcc && \
|
||||
apk --no-cache add libxml2-dev postgresql-dev oniguruma-dev freetype-dev libjpeg-turbo-dev libpng-dev libzip-dev imagemagick-dev && \
|
||||
apk --no-cache add --virtual .build-deps autoconf g++ make && \
|
||||
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer && \
|
||||
# PHP: Install extensions
|
||||
pecl channel-update pecl.php.net && \
|
||||
pecl install swoole imagick mongodb redis && \
|
||||
docker-php-ext-configure gd --with-freetype --with-jpeg && \
|
||||
docker-php-ext-install mbstring xml exif pcntl gd zip sockets pdo pdo_pgsql pdo_mysql bcmath && \
|
||||
docker-php-ext-enable mbstring xml gd zip swoole imagick mongodb redis exif pcntl sockets bcmath pdo pdo_pgsql pdo_mysql && \
|
||||
# PHP: Configure ini
|
||||
echo 'post_max_size = 200M' >> /usr/local/etc/php/conf.d/docker-php-overrides.ini && \
|
||||
echo 'upload_max_filesize = 200M' >> /usr/local/etc/php/conf.d/docker-php-overrides.ini && \
|
||||
# CONTAINER: Cleanup build dependencies
|
||||
apk del .build-deps && \
|
||||
docker-php-source delete
|
||||
|
||||
# CONTAINER: Expose port 8000 and set command
|
||||
EXPOSE 8000
|
||||
CMD ["php","artisan","octane:start", "--host=0.0.0.0"]
|
||||
|
||||
@@ -4,17 +4,23 @@ WORKDIR /var/www/html
|
||||
|
||||
# STSTEM: Install required packages
|
||||
RUN apk --no-cache upgrade && \
|
||||
apk --no-cache add bash git sudo openssh libxml2-dev postgresql-dev oniguruma-dev autoconf gcc g++ make npm freetype-dev libjpeg-turbo-dev libpng-dev libzip-dev
|
||||
|
||||
# COMPOSER: install binary and prestissimo
|
||||
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
|
||||
|
||||
# PHP: install extensions
|
||||
RUN pecl channel-update pecl.php.net
|
||||
RUN pecl install ssh2 swoole
|
||||
RUN docker-php-ext-configure gd --with-freetype --with-jpeg
|
||||
RUN docker-php-ext-install mbstring xml pcntl gd zip sockets pdo pdo_pgsql pdo_mysql bcmath
|
||||
RUN docker-php-ext-enable mbstring xml gd zip swoole pcntl sockets bcmath pdo pdo_pgsql pdo_mysql
|
||||
apk --no-cache add bash git openssh npm gcc && \
|
||||
apk --no-cache add libxml2-dev postgresql-dev oniguruma-dev freetype-dev libjpeg-turbo-dev libpng-dev libzip-dev imagemagick-dev && \
|
||||
apk --no-cache add --virtual .build-deps autoconf g++ make && \
|
||||
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer && \
|
||||
# PHP: Install extensions
|
||||
pecl channel-update pecl.php.net && \
|
||||
pecl install swoole imagick mongodb redis && \
|
||||
docker-php-ext-configure gd --with-freetype --with-jpeg && \
|
||||
docker-php-ext-install mbstring xml exif pcntl gd zip sockets pdo pdo_pgsql pdo_mysql bcmath && \
|
||||
docker-php-ext-enable mbstring xml gd zip swoole imagick mongodb redis exif pcntl sockets bcmath pdo pdo_pgsql pdo_mysql && \
|
||||
# PHP: Configure ini
|
||||
echo 'post_max_size = 200M' >> /usr/local/etc/php/conf.d/docker-php-overrides.ini && \
|
||||
echo 'upload_max_filesize = 200M' >> /usr/local/etc/php/conf.d/docker-php-overrides.ini && \
|
||||
# CONTAINER: Cleanup build dependencies
|
||||
apk del .build-deps && \
|
||||
docker-php-source delete
|
||||
|
||||
# CONTAINER: Expose port 8000 and set command
|
||||
EXPOSE 8000
|
||||
CMD ["php","artisan","octane:start", "--host=0.0.0.0"]
|
||||
|
||||
Reference in New Issue
Block a user