👀 build passing --build-arg CHEVERETO_LICENSE=key

This commit is contained in:
Rodolfo Berrios
2021-06-02 22:39:06 -04:00
parent 1ffe0ed0c4
commit 8539571dd9
2 changed files with 135 additions and 0 deletions

47
chevereto.sh Normal file
View File

@@ -0,0 +1,47 @@
set -e
DIR="/var/www"
WORKING_DIR="$DIR/html"
mkdir -p /chevereto && mkdir -p /chevereto/download && mkdir -p /chevereto/installer
cd /chevereto/download
curl -S -o installer.tar.gz -L "https://github.com/chevereto/installer/archive/${CHEVERETO_INSTALLER_TAG}.tar.gz"
tar -xvzf installer.tar.gz
mv -v installer-"${CHEVERETO_INSTALLER_TAG}"/* /chevereto/installer/
cd /chevereto/installer
php installer.php -a download -s $CHEVERETO_SOFTWARE -t=$CHEVERETO_TAG -l=$CHEVERETO_LICENSE
php installer.php -a extract -s $CHEVERETO_SOFTWARE -f chevereto-pkg-*.zip -p $WORKING_DIR
mkdir -p $WORKING_DIR/app
set -eux
{
echo "<?php"
echo "\$settings = ["
echo " 'asset_storage_account_id' => getenv('CHEVERETO_ASSET_STORAGE_ACCOUNT_ID'),"
echo " 'asset_storage_account_name' => getenv('CHEVERETO_ASSET_STORAGE_ACCOUNT_NAME'),"
echo " 'asset_storage_bucket' => getenv('CHEVERETO_ASSET_STORAGE_BUCKET'),"
echo " 'asset_storage_key' => getenv('CHEVERETO_ASSET_STORAGE_KEY'),"
echo " 'asset_storage_name' => getenv('CHEVERETO_ASSET_STORAGE_NAME'),"
echo " 'asset_storage_region' => getenv('CHEVERETO_ASSET_STORAGE_REGION'),"
echo " 'asset_storage_secret' => getenv('CHEVERETO_ASSET_STORAGE_SECRET'),"
echo " 'asset_storage_server' => getenv('CHEVERETO_ASSET_STORAGE_SERVER'),"
echo " 'asset_storage_service' => getenv('CHEVERETO_ASSET_STORAGE_SERVICE'),"
echo " 'asset_storage_type' => getenv('CHEVERETO_ASSET_STORAGE_TYPE'),"
echo " 'asset_storage_url' => getenv('CHEVERETO_ASSET_STORAGE_URL'),"
echo " 'db_driver' => getenv('CHEVERETO_DB_DRIVER'),"
echo " 'db_host' => getenv('CHEVERETO_DB_HOST'),"
echo " 'db_name' => getenv('CHEVERETO_DB_NAME'),"
echo " 'db_pass' => getenv('CHEVERETO_DB_PASS'),"
echo " 'db_pdo_attrs' => getenv('CHEVERETO_DB_PDO_ATTRS'),"
echo " 'db_port' => (int) getenv('CHEVERETO_DB_PORT'),"
echo " 'db_table_prefix' => getenv('CHEVERETO_DB_TABLE_PREFIX'),"
echo " 'db_user' => getenv('CHEVERETO_DB_USER'),"
echo " 'debug_level' => (int) getenv('CHEVERETO_DEBUG_LEVEL'),"
echo " 'disable_php_pages' => (bool) getenv('CHEVERETO_DISABLE_PHP_PAGES'),"
echo " 'hostname_path' => getenv('CHEVERETO_HOSTNAME_PATH'),"
echo " 'hostname' => getenv('CHEVERETO_HOSTNAME'),"
echo " 'https' => (bool) getenv('CHEVERETO_HTTPS'),"
echo " 'image_formats_available' => explode(',', getenv('CHEVERETO_IMAGE_FORMATS_AVAILABLE')),"
echo " 'session.save_handler' => getenv('CHEVERETO_SESSION_SAVE_HANDLER'),"
echo " 'session.save_path' => getenv('CHEVERETO_SESSION_SAVE_PATH'),"
echo "];"
} >$WORKING_DIR/app/settings.php
chown www-data: $WORKING_DIR -R
cd $WORKING_DIR

88
httpd-php.Dockerfile Normal file
View File

@@ -0,0 +1,88 @@
FROM php:7.4-apache
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libwebp-dev \
libgd-dev \
libzip-dev \
zip \
imagemagick libmagickwand-dev --no-install-recommends \
&& docker-php-ext-configure gd \
--with-freetype=/usr/include/ \
--with-jpeg=/usr/include/ \
--with-webp=/usr/include/ \
&& docker-php-ext-configure opcache --enable-opcache \
&& docker-php-ext-install -j$(nproc) exif gd pdo_mysql zip opcache \
&& pecl install imagick \
&& docker-php-ext-enable imagick opcache \
&& php -m \
&& a2enmod rewrite
ARG CHEVERETO_SOFTWARE=chevereto
ARG CHEVERETO_TAG=3.20.1
ARG CHEVERETO_INSTALLER_TAG=2.2.2
ARG CHEVERETO_SERVICING=docker
ARG CHEVERETO_LICENSE
RUN test -n "$CHEVERETO_LICENSE"
ENV CHEVERETO_SOFTWARE=$CHEVERETO_SOFTWARE \
CHEVERETO_TAG=$CHEVERETO_TAG \
CHEVERETO_INSTALLER_TAG=$CHEVERETO_INSTALLER_TAG \
CHEVERETO_SERVICING=$CHEVERETO_SERVICING \
CHEVERETO_LICENSE=$CHEVERETO_LICENSE \
CHEVERETO_DB_HOST=mariadb \
CHEVERETO_DB_USER=chevereto \
CHEVERETO_DB_PASS=user_database_password \
CHEVERETO_DB_NAME=chevereto \
CHEVERETO_DB_TABLE_PREFIX=chv_ \
CHEVERETO_DB_PORT=3306 \
CHEVERETO_DB_DRIVER=mysql \
CHEVERETO_DB_PDO_ATTRS=[] \
CHEVERETO_DEBUG_LEVEL=1 \
CHEVERETO_ERROR_LOG= \
CHEVERETO_IMAGE_FORMATS_AVAILABLE=JPG,PNG,BMP,GIF,WEBP \
CHEVERETO_HOSTNAME=localhost \
CHEVERETO_HOSTNAME_PATH=/ \
CHEVERETO_SESSION_SAVE_HANDLER=files \
CHEVERETO_SESSION_SAVE_PATH=/tmp \
CHEVERETO_UPLOAD_MAX_FILESIZE=25M \
CHEVERETO_POST_MAX_SIZE=25M \
CHEVERETO_MAX_EXECUTION_TIME=30 \
CHEVERETO_MEMORY_LIMIT=512M \
CHEVERETO_ASSET_STORAGE_NAME=assets \
CHEVERETO_ASSET_STORAGE_TYPE=local \
CHEVERETO_ASSET_STORAGE_KEY= \
CHEVERETO_ASSET_STORAGE_SECRET= \
CHEVERETO_ASSET_STORAGE_BUCKET= \
CHEVERETO_ASSET_STORAGE_URL= \
CHEVERETO_ASSET_STORAGE_REGION= \
CHEVERETO_ASSET_STORAGE_SERVER= \
CHEVERETO_ASSET_STORAGE_SERVICE= \
CHEVERETO_ASSET_STORAGE_ACCOUNT_ID= \
CHEVERETO_ASSET_STORAGE_ACCOUNT_NAME=
RUN set -eux; \
{ \
echo "log_errors = On"; \
echo "error_log = /dev/stderr"; \
echo "upload_max_filesize = \${CHEVERETO_UPLOAD_MAX_FILESIZE}"; \
echo "post_max_size = \${CHEVERETO_POST_MAX_SIZE}"; \
echo "max_execution_time = \${CHEVERETO_MAX_EXECUTION_TIME}"; \
echo "memory_limit = \${CHEVERETO_MEMORY_LIMIT}"; \
} > $PHP_INI_DIR/conf.d/php.ini
RUN mkdir -p /var/www/html/importing && \
mkdir -p /var/www/html/importing/no-parse && \
mkdir -p /var/www/html/importing/parse-album && \
mkdir -p /var/www/html/importing/parse-users
VOLUME /var/www/html/images
VOLUME /var/www/html/importing/no-parse
VOLUME /var/www/html/importing/parse-albums
VOLUME /var/www/html/importing/parse-users
COPY chevereto.sh /chevereto.sh
RUN chmod +x /chevereto.sh && /chevereto.sh