Skip to content

Commit

Permalink
Merge pull request #27 from rtCamp/update/dependencies
Browse files Browse the repository at this point in the history
Update dependencies
  • Loading branch information
mrrobot47 committed Jun 1, 2021
2 parents 8eb058c + 667d380 commit cf472f5
Show file tree
Hide file tree
Showing 2 changed files with 1,627 additions and 643 deletions.
132 changes: 24 additions & 108 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,131 +1,47 @@
# alpine:latest at 2021-06-01T15:15:12IST
FROM alpine@sha256:69e70a79f2d41ab5d637de98c1e0b055206ba40a8145e7bddb55ccc04e13cf8f
FROM ubuntu:20.04

ARG DEBIAN_FRONTEND=noninteractive

LABEL "com.github.actions.icon"="upload-cloud"
LABEL "com.github.actions.color"="yellow"
LABEL "com.github.actions.name"="Deploy WordPress"
LABEL "com.github.actions.description"="Deploy WordPress code to a server"
LABEL "org.opencontainers.image.source"="https://github.com/rtCamp/action-deploy-wordpress"

# Environments
ENV TIMEZONE Asia/Kolkata
ENV PHP_MEMORY_LIMIT 512M
ENV MAX_UPLOAD 50M
ENV PHP_MAX_FILE_UPLOAD 200
ENV PHP_MAX_POST 100M
ENV PHP_INI_DIR /etc/php7/php.ini
ENV HOME /root

ENV PATH "/composer/vendor/bin:~/.local/bin:$PATH"
ENV COMPOSER_ALLOW_SUPERUSER 1
ENV COMPOSER_HOME /composer
ENV VAULT_VERSION 1.0.2

# PHP-CLI installation inspired from https://github.com/bravist/php-cli-alpine-aliyun-app/blob/master/Dockerfile
# https://github.com/matriphe/docker-alpine-php/blob/master/7.0/FPM/Dockerfile

RUN apk update \
&& apk upgrade \
&& apk add \
bash \
jq \
curl \
git \
tzdata \
rsync \
yarn \
mysql-client \
subversion \
unzip \
wget \
zip \
nodejs \
npm \
openssh-client \
php7 \
php7-dev \
php7-apcu \
php7-bcmath \
php7-bz2 \
php7-xmlwriter \
php7-ctype \
php7-curl \
php7-exif \
php7-iconv \
php7-intl \
php7-json \
php7-mbstring\
php7-opcache \
php7-openssl \
php7-pcntl \
php7-pdo \
php7-mysqlnd \
php7-mysqli \
php7-pdo_mysql \
php7-pdo_pgsql \
php7-phar \
php7-posix \
php7-session \
php7-xml \
php7-simplexml \
php7-mcrypt \
php7-xsl \
php7-zip \
php7-zlib \
php7-dom \
php7-redis\
php7-tokenizer \
php7-gd \
php7-fileinfo \
php7-zmq \
php7-memcached \
php7-xmlreader \
python3 \
py-pip \
&& pip install shyaml \
&& cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \
&& echo "${TIMEZONE}" > /etc/timezone \
&& apk del tzdata \
&& pip install shyaml \
&& rm -rf /var/cache/apk/*

# https://github.com/docker-library/php/issues/240
# https://gist.github.com/guillemcanal/be3db96d3caa315b4e2b8259cab7d07e
# https://forum.alpinelinux.org/forum/installation/php-iconv-issue
# https://github.com/gliderlabs/docker-alpine/issues/157#issuecomment-200860301

RUN rm -rf /var/cache/apk/*

# Set environments
RUN sed -i "s|;*date.timezone =.*|date.timezone = ${TIMEZONE}|i" "$PHP_INI_DIR" && \
sed -i "s|;*memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|i" "$PHP_INI_DIR" && \
sed -i "s|;*upload_max_filesize =.*|upload_max_filesize = ${MAX_UPLOAD}|i" "$PHP_INI_DIR" && \
sed -i "s|;*max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|i" "$PHP_INI_DIR" && \
sed -i "s|;*post_max_size =.*|post_max_size = ${PHP_MAX_POST}|i" "$PHP_INI_DIR" && \
sed -i "s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= 0|i" "$PHP_INI_DIR"

# Update php config
RUN mkdir -p "/etc/php7/conf.d" && \
echo "memory_limit=-1" > "/etc/php7/conf.d/memory-limit.ini" && \
echo "date.timezone=Asia/Kolkata" > "/etc/php7/conf.d/date_timezone.ini"
RUN apt update && \
apt install -y \
bash \
git \
curl \
jq \
rsync \
zip \
unzip \
python3-pip \
software-properties-common && \
add-apt-repository ppa:ondrej/php && \
apt update && \
apt-get install -y php7.4-cli php7.4-curl php7.4-json php7.4-mbstring php7.4-xml php7.4-iconv && \
pip3 install shyaml && \
rm -rf /var/lib/apt/lists/*

# Setup wp-cli
RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && \
chmod +x wp-cli.phar && \
mv wp-cli.phar /usr/local/bin/wp
chmod +x wp-cli.phar && \
mv wp-cli.phar /usr/local/bin/wp

# Setup composer
RUN mkdir -p /composer && \
curl -sS https://getcomposer.org/installer | \
php -- --install-dir=/usr/bin/ --filename=composer
curl -sS https://getcomposer.org/installer | \
php -- --install-dir=/usr/bin/ --filename=composer
COPY composer.* /composer/
RUN cd /composer && composer install

# Setup Vault
RUN wget https://releases.hashicorp.com/vault/${VAULT_VERSION}/vault_${VAULT_VERSION}_linux_amd64.zip && \
unzip vault_${VAULT_VERSION}_linux_amd64.zip && \
rm vault_${VAULT_VERSION}_linux_amd64.zip && \
mv vault /usr/local/bin/vault

COPY deploy.php hosts.yml /
COPY *.sh /
RUN chmod +x /*.sh
Expand Down
Loading

0 comments on commit cf472f5

Please sign in to comment.