mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-11 11:31:16 +00:00
Add work docker image flavour
This commit is contained in:
313
Dockerfiles/work/Dockerfile-5.4
Normal file
313
Dockerfiles/work/Dockerfile-5.4
Normal file
@@ -0,0 +1,313 @@
|
||||
# Auto-generated via Ansible
|
||||
FROM devilbox/php-fpm:5.4-prod
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.4 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.4-work" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
|
||||
|
||||
###
|
||||
### Envs (Already set in parent container)
|
||||
###
|
||||
ENV BASH_PROFILE=".bashrc"
|
||||
|
||||
|
||||
###
|
||||
### Install Tools
|
||||
###
|
||||
|
||||
# System dev tools
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||
ack-grep \
|
||||
aspell \
|
||||
autoconf \
|
||||
automake \
|
||||
bash-completion \
|
||||
bzip2 \
|
||||
coreutils \
|
||||
curl \
|
||||
dnsutils \
|
||||
dos2unix \
|
||||
file \
|
||||
gcc \
|
||||
git \
|
||||
git-svn \
|
||||
hostname \
|
||||
htop \
|
||||
imagemagick \
|
||||
iputils-ping \
|
||||
less \
|
||||
libc-dev \
|
||||
make \
|
||||
# mongo-tools \
|
||||
mongodb-clients \
|
||||
moreutils \
|
||||
mysql-client \
|
||||
nano \
|
||||
net-tools \
|
||||
netcat \
|
||||
postgresql-client \
|
||||
python-pip \
|
||||
rubygems \
|
||||
ruby-dev \
|
||||
shellcheck \
|
||||
silversearcher-ag \
|
||||
subversion \
|
||||
sudo \
|
||||
tig \
|
||||
vim \
|
||||
w3m \
|
||||
wget \
|
||||
whois \
|
||||
xz-utils \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
## Node / NPM
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && VERSION="$( curl -Lq https://nodejs.org 2>/dev/null | grep LTS | grep -Eo 'data-version.*.' | grep -oE 'v[0-9.]+' )" \
|
||||
# && wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 --tries=30 \
|
||||
# -P /usr/local/src https://nodejs.org/dist/${VERSION}/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && unxz /usr/local/src/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && tar xvf /usr/local/src/node-${VERSION}-linux-x64.tar -C /usr/local/src \
|
||||
# && ln -s /usr/local/src/node-${VERSION}-linux-x64 /usr/local/node \
|
||||
# && ln -s /usr/local/node/bin/* /usr/local/bin/ \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64.tar* \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/LICENSE \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/*.md \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/include \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/share \
|
||||
# && npm --version | grep -E '[.0-9]+' \
|
||||
# && node --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.config
|
||||
#
|
||||
## Composer
|
||||
#RUN set -x \
|
||||
# && curl -sS https://getcomposer.org/installer | php \
|
||||
# && mv composer.phar /usr/local/bin/composer \
|
||||
# && composer self-update
|
||||
## && composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /root/.composer
|
||||
#
|
||||
## Drush
|
||||
#RUN set -x \
|
||||
# && DRUSH_VERSION="$( curl -q https://api.github.com/repos/drush-ops/drush/releases 2>/dev/null | grep tag_name | grep -Eo '\"[0-9.]+\"' | head -1 | sed 's/\"//g' )" \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
||||
# && v="${DRUSH_VERSION}" su ${MY_USER} -p -c 'cd /usr/local/src/drush && git checkout ${v}' \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
||||
# && ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
||||
# && drush --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /usr/local/src/drush/.git \
|
||||
# && rm -rf /usr/local/src/drush/docs \
|
||||
# && rm -rf /usr/local/src/drush/examples \
|
||||
# && rm -rf /usr/local/src/drush/misc \
|
||||
# && rm -rf /usr/local/src/drush/tests \
|
||||
# && rm -rf /root/.drush \
|
||||
# && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Drupal Console
|
||||
#RUN set -x \
|
||||
# && curl https://drupalconsole.com/installer -L -o drupal.phar \
|
||||
# && mv drupal.phar /usr/local/bin/drupal \
|
||||
# && chmod +x /usr/local/bin/drupal
|
||||
## && drupal --version | grep -E 'version\s*[.0-9]'
|
||||
#
|
||||
## WP-CLI
|
||||
#RUN set -x \
|
||||
# && curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
|
||||
# && mv wp-cli.phar /usr/local/bin/wp \
|
||||
# && chmod +x /usr/local/bin/wp \
|
||||
# && wp cli update \
|
||||
# && wp --allow-root --version | grep -E '[.0-9]+'
|
||||
#
|
||||
## Symfony CLI
|
||||
#RUN set -x \
|
||||
# && curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
|
||||
# && chmod +x /usr/local/bin/symfony \
|
||||
# && symfony --version | grep -E 'version\s*[.0-9]+'
|
||||
#
|
||||
## Laravel CLI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
# && cd /usr/local/src/laravel-installer \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
||||
# && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
# && rm -rf /usr/local/src/laravel-installer/laravel/.git
|
||||
## && laravel --version | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Phalcon DevTools
|
||||
##RUN set -x \
|
||||
## && mkdir -p /usr/local/src \
|
||||
## && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||
## && cd /usr/local/src/phalcon-devtools \
|
||||
## && git checkout $(git tag | grep 'v3.0' | sort -V | tail -1) \
|
||||
## && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||
## && ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
## && cd / \
|
||||
## && rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
## && phalcon commands | grep -E '[.0-9]+'
|
||||
#
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||
# && cd /usr/local/src/mysqldump-secure \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||
# && cd /usr/local/src/awesome-ci \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
|
||||
###
|
||||
### Copy files
|
||||
###
|
||||
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/bash-custom.d
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /shared/backups
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
313
Dockerfiles/work/Dockerfile-5.5
Normal file
313
Dockerfiles/work/Dockerfile-5.5
Normal file
@@ -0,0 +1,313 @@
|
||||
# Auto-generated via Ansible
|
||||
FROM devilbox/php-fpm:5.5-prod
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.5 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.5-work" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
|
||||
|
||||
###
|
||||
### Envs (Already set in parent container)
|
||||
###
|
||||
ENV BASH_PROFILE=".bashrc"
|
||||
|
||||
|
||||
###
|
||||
### Install Tools
|
||||
###
|
||||
|
||||
# System dev tools
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||
ack-grep \
|
||||
aspell \
|
||||
autoconf \
|
||||
automake \
|
||||
bash-completion \
|
||||
bzip2 \
|
||||
coreutils \
|
||||
curl \
|
||||
dnsutils \
|
||||
dos2unix \
|
||||
file \
|
||||
gcc \
|
||||
git \
|
||||
git-svn \
|
||||
hostname \
|
||||
htop \
|
||||
imagemagick \
|
||||
iputils-ping \
|
||||
less \
|
||||
libc-dev \
|
||||
make \
|
||||
# mongo-tools \
|
||||
mongodb-clients \
|
||||
moreutils \
|
||||
mysql-client \
|
||||
nano \
|
||||
net-tools \
|
||||
netcat \
|
||||
postgresql-client \
|
||||
python-pip \
|
||||
rubygems \
|
||||
ruby-dev \
|
||||
shellcheck \
|
||||
silversearcher-ag \
|
||||
subversion \
|
||||
sudo \
|
||||
tig \
|
||||
vim \
|
||||
w3m \
|
||||
wget \
|
||||
whois \
|
||||
xz-utils \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
## Node / NPM
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && VERSION="$( curl -Lq https://nodejs.org 2>/dev/null | grep LTS | grep -Eo 'data-version.*.' | grep -oE 'v[0-9.]+' )" \
|
||||
# && wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 --tries=30 \
|
||||
# -P /usr/local/src https://nodejs.org/dist/${VERSION}/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && unxz /usr/local/src/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && tar xvf /usr/local/src/node-${VERSION}-linux-x64.tar -C /usr/local/src \
|
||||
# && ln -s /usr/local/src/node-${VERSION}-linux-x64 /usr/local/node \
|
||||
# && ln -s /usr/local/node/bin/* /usr/local/bin/ \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64.tar* \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/LICENSE \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/*.md \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/include \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/share \
|
||||
# && npm --version | grep -E '[.0-9]+' \
|
||||
# && node --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.config
|
||||
#
|
||||
## Composer
|
||||
#RUN set -x \
|
||||
# && curl -sS https://getcomposer.org/installer | php \
|
||||
# && mv composer.phar /usr/local/bin/composer \
|
||||
# && composer self-update
|
||||
## && composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /root/.composer
|
||||
#
|
||||
## Drush
|
||||
#RUN set -x \
|
||||
# && DRUSH_VERSION="$( curl -q https://api.github.com/repos/drush-ops/drush/releases 2>/dev/null | grep tag_name | grep -Eo '\"[0-9.]+\"' | head -1 | sed 's/\"//g' )" \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
||||
# && v="${DRUSH_VERSION}" su ${MY_USER} -p -c 'cd /usr/local/src/drush && git checkout ${v}' \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
||||
# && ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
||||
# && drush --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /usr/local/src/drush/.git \
|
||||
# && rm -rf /usr/local/src/drush/docs \
|
||||
# && rm -rf /usr/local/src/drush/examples \
|
||||
# && rm -rf /usr/local/src/drush/misc \
|
||||
# && rm -rf /usr/local/src/drush/tests \
|
||||
# && rm -rf /root/.drush \
|
||||
# && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Drupal Console
|
||||
#RUN set -x \
|
||||
# && curl https://drupalconsole.com/installer -L -o drupal.phar \
|
||||
# && mv drupal.phar /usr/local/bin/drupal \
|
||||
# && chmod +x /usr/local/bin/drupal
|
||||
## && drupal --version | grep -E 'version\s*[.0-9]'
|
||||
#
|
||||
## WP-CLI
|
||||
#RUN set -x \
|
||||
# && curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
|
||||
# && mv wp-cli.phar /usr/local/bin/wp \
|
||||
# && chmod +x /usr/local/bin/wp \
|
||||
# && wp cli update \
|
||||
# && wp --allow-root --version | grep -E '[.0-9]+'
|
||||
#
|
||||
## Symfony CLI
|
||||
#RUN set -x \
|
||||
# && curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
|
||||
# && chmod +x /usr/local/bin/symfony \
|
||||
# && symfony --version | grep -E 'version\s*[.0-9]+'
|
||||
#
|
||||
## Laravel CLI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
# && cd /usr/local/src/laravel-installer \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
||||
# && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
# && rm -rf /usr/local/src/laravel-installer/laravel/.git
|
||||
## && laravel --version | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Phalcon DevTools
|
||||
##RUN set -x \
|
||||
## && mkdir -p /usr/local/src \
|
||||
## && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||
## && cd /usr/local/src/phalcon-devtools \
|
||||
## && git checkout $(git tag | grep 'v3.0' | sort -V | tail -1) \
|
||||
## && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||
## && ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
## && cd / \
|
||||
## && rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
## && phalcon commands | grep -E '[.0-9]+'
|
||||
#
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||
# && cd /usr/local/src/mysqldump-secure \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||
# && cd /usr/local/src/awesome-ci \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
|
||||
###
|
||||
### Copy files
|
||||
###
|
||||
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/bash-custom.d
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /shared/backups
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
313
Dockerfiles/work/Dockerfile-5.6
Normal file
313
Dockerfiles/work/Dockerfile-5.6
Normal file
@@ -0,0 +1,313 @@
|
||||
# Auto-generated via Ansible
|
||||
FROM devilbox/php-fpm:5.6-prod
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 5.6 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="5.6-work" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
|
||||
|
||||
###
|
||||
### Envs (Already set in parent container)
|
||||
###
|
||||
ENV BASH_PROFILE=".bashrc"
|
||||
|
||||
|
||||
###
|
||||
### Install Tools
|
||||
###
|
||||
|
||||
# System dev tools
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||
ack-grep \
|
||||
aspell \
|
||||
autoconf \
|
||||
automake \
|
||||
bash-completion \
|
||||
bzip2 \
|
||||
coreutils \
|
||||
curl \
|
||||
dnsutils \
|
||||
dos2unix \
|
||||
file \
|
||||
gcc \
|
||||
git \
|
||||
git-svn \
|
||||
hostname \
|
||||
htop \
|
||||
imagemagick \
|
||||
iputils-ping \
|
||||
less \
|
||||
libc-dev \
|
||||
make \
|
||||
# mongo-tools \
|
||||
mongodb-clients \
|
||||
moreutils \
|
||||
mysql-client \
|
||||
nano \
|
||||
net-tools \
|
||||
netcat \
|
||||
postgresql-client \
|
||||
python-pip \
|
||||
rubygems \
|
||||
ruby-dev \
|
||||
shellcheck \
|
||||
silversearcher-ag \
|
||||
subversion \
|
||||
sudo \
|
||||
tig \
|
||||
vim \
|
||||
w3m \
|
||||
wget \
|
||||
whois \
|
||||
xz-utils \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
## Node / NPM
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && VERSION="$( curl -Lq https://nodejs.org 2>/dev/null | grep LTS | grep -Eo 'data-version.*.' | grep -oE 'v[0-9.]+' )" \
|
||||
# && wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 --tries=30 \
|
||||
# -P /usr/local/src https://nodejs.org/dist/${VERSION}/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && unxz /usr/local/src/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && tar xvf /usr/local/src/node-${VERSION}-linux-x64.tar -C /usr/local/src \
|
||||
# && ln -s /usr/local/src/node-${VERSION}-linux-x64 /usr/local/node \
|
||||
# && ln -s /usr/local/node/bin/* /usr/local/bin/ \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64.tar* \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/LICENSE \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/*.md \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/include \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/share \
|
||||
# && npm --version | grep -E '[.0-9]+' \
|
||||
# && node --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.config
|
||||
#
|
||||
## Composer
|
||||
#RUN set -x \
|
||||
# && curl -sS https://getcomposer.org/installer | php \
|
||||
# && mv composer.phar /usr/local/bin/composer \
|
||||
# && composer self-update
|
||||
## && composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /root/.composer
|
||||
#
|
||||
## Drush
|
||||
#RUN set -x \
|
||||
# && DRUSH_VERSION="$( curl -q https://api.github.com/repos/drush-ops/drush/releases 2>/dev/null | grep tag_name | grep -Eo '\"[0-9.]+\"' | head -1 | sed 's/\"//g' )" \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
||||
# && v="${DRUSH_VERSION}" su ${MY_USER} -p -c 'cd /usr/local/src/drush && git checkout ${v}' \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
||||
# && ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
||||
# && drush --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /usr/local/src/drush/.git \
|
||||
# && rm -rf /usr/local/src/drush/docs \
|
||||
# && rm -rf /usr/local/src/drush/examples \
|
||||
# && rm -rf /usr/local/src/drush/misc \
|
||||
# && rm -rf /usr/local/src/drush/tests \
|
||||
# && rm -rf /root/.drush \
|
||||
# && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Drupal Console
|
||||
#RUN set -x \
|
||||
# && curl https://drupalconsole.com/installer -L -o drupal.phar \
|
||||
# && mv drupal.phar /usr/local/bin/drupal \
|
||||
# && chmod +x /usr/local/bin/drupal
|
||||
## && drupal --version | grep -E 'version\s*[.0-9]'
|
||||
#
|
||||
## WP-CLI
|
||||
#RUN set -x \
|
||||
# && curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
|
||||
# && mv wp-cli.phar /usr/local/bin/wp \
|
||||
# && chmod +x /usr/local/bin/wp \
|
||||
# && wp cli update \
|
||||
# && wp --allow-root --version | grep -E '[.0-9]+'
|
||||
#
|
||||
## Symfony CLI
|
||||
#RUN set -x \
|
||||
# && curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
|
||||
# && chmod +x /usr/local/bin/symfony \
|
||||
# && symfony --version | grep -E 'version\s*[.0-9]+'
|
||||
#
|
||||
## Laravel CLI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
# && cd /usr/local/src/laravel-installer \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
||||
# && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
# && rm -rf /usr/local/src/laravel-installer/laravel/.git
|
||||
## && laravel --version | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Phalcon DevTools
|
||||
##RUN set -x \
|
||||
## && mkdir -p /usr/local/src \
|
||||
## && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||
## && cd /usr/local/src/phalcon-devtools \
|
||||
## && git checkout $(git tag | grep 'v3.0' | sort -V | tail -1) \
|
||||
## && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||
## && ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
## && cd / \
|
||||
## && rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
## && phalcon commands | grep -E '[.0-9]+'
|
||||
#
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||
# && cd /usr/local/src/mysqldump-secure \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||
# && cd /usr/local/src/awesome-ci \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
|
||||
###
|
||||
### Copy files
|
||||
###
|
||||
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/bash-custom.d
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /shared/backups
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
313
Dockerfiles/work/Dockerfile-7.0
Normal file
313
Dockerfiles/work/Dockerfile-7.0
Normal file
@@ -0,0 +1,313 @@
|
||||
# Auto-generated via Ansible
|
||||
FROM devilbox/php-fpm:7.0-prod
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.0 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.0-work" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
|
||||
|
||||
###
|
||||
### Envs (Already set in parent container)
|
||||
###
|
||||
ENV BASH_PROFILE=".bashrc"
|
||||
|
||||
|
||||
###
|
||||
### Install Tools
|
||||
###
|
||||
|
||||
# System dev tools
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||
ack-grep \
|
||||
aspell \
|
||||
autoconf \
|
||||
automake \
|
||||
bash-completion \
|
||||
bzip2 \
|
||||
coreutils \
|
||||
curl \
|
||||
dnsutils \
|
||||
dos2unix \
|
||||
file \
|
||||
gcc \
|
||||
git \
|
||||
git-svn \
|
||||
hostname \
|
||||
htop \
|
||||
imagemagick \
|
||||
iputils-ping \
|
||||
less \
|
||||
libc-dev \
|
||||
make \
|
||||
# mongo-tools \
|
||||
mongodb-clients \
|
||||
moreutils \
|
||||
mysql-client \
|
||||
nano \
|
||||
net-tools \
|
||||
netcat \
|
||||
postgresql-client \
|
||||
python-pip \
|
||||
rubygems \
|
||||
ruby-dev \
|
||||
shellcheck \
|
||||
silversearcher-ag \
|
||||
subversion \
|
||||
sudo \
|
||||
tig \
|
||||
vim \
|
||||
w3m \
|
||||
wget \
|
||||
whois \
|
||||
xz-utils \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
## Node / NPM
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && VERSION="$( curl -Lq https://nodejs.org 2>/dev/null | grep LTS | grep -Eo 'data-version.*.' | grep -oE 'v[0-9.]+' )" \
|
||||
# && wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 --tries=30 \
|
||||
# -P /usr/local/src https://nodejs.org/dist/${VERSION}/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && unxz /usr/local/src/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && tar xvf /usr/local/src/node-${VERSION}-linux-x64.tar -C /usr/local/src \
|
||||
# && ln -s /usr/local/src/node-${VERSION}-linux-x64 /usr/local/node \
|
||||
# && ln -s /usr/local/node/bin/* /usr/local/bin/ \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64.tar* \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/LICENSE \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/*.md \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/include \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/share \
|
||||
# && npm --version | grep -E '[.0-9]+' \
|
||||
# && node --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.config
|
||||
#
|
||||
## Composer
|
||||
#RUN set -x \
|
||||
# && curl -sS https://getcomposer.org/installer | php \
|
||||
# && mv composer.phar /usr/local/bin/composer \
|
||||
# && composer self-update
|
||||
## && composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /root/.composer
|
||||
#
|
||||
## Drush
|
||||
#RUN set -x \
|
||||
# && DRUSH_VERSION="$( curl -q https://api.github.com/repos/drush-ops/drush/releases 2>/dev/null | grep tag_name | grep -Eo '\"[0-9.]+\"' | head -1 | sed 's/\"//g' )" \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
||||
# && v="${DRUSH_VERSION}" su ${MY_USER} -p -c 'cd /usr/local/src/drush && git checkout ${v}' \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
||||
# && ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
||||
# && drush --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /usr/local/src/drush/.git \
|
||||
# && rm -rf /usr/local/src/drush/docs \
|
||||
# && rm -rf /usr/local/src/drush/examples \
|
||||
# && rm -rf /usr/local/src/drush/misc \
|
||||
# && rm -rf /usr/local/src/drush/tests \
|
||||
# && rm -rf /root/.drush \
|
||||
# && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Drupal Console
|
||||
#RUN set -x \
|
||||
# && curl https://drupalconsole.com/installer -L -o drupal.phar \
|
||||
# && mv drupal.phar /usr/local/bin/drupal \
|
||||
# && chmod +x /usr/local/bin/drupal
|
||||
## && drupal --version | grep -E 'version\s*[.0-9]'
|
||||
#
|
||||
## WP-CLI
|
||||
#RUN set -x \
|
||||
# && curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
|
||||
# && mv wp-cli.phar /usr/local/bin/wp \
|
||||
# && chmod +x /usr/local/bin/wp \
|
||||
# && wp cli update \
|
||||
# && wp --allow-root --version | grep -E '[.0-9]+'
|
||||
#
|
||||
## Symfony CLI
|
||||
#RUN set -x \
|
||||
# && curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
|
||||
# && chmod +x /usr/local/bin/symfony \
|
||||
# && symfony --version | grep -E 'version\s*[.0-9]+'
|
||||
#
|
||||
## Laravel CLI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
# && cd /usr/local/src/laravel-installer \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
||||
# && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
# && rm -rf /usr/local/src/laravel-installer/laravel/.git
|
||||
## && laravel --version | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Phalcon DevTools
|
||||
##RUN set -x \
|
||||
## && mkdir -p /usr/local/src \
|
||||
## && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||
## && cd /usr/local/src/phalcon-devtools \
|
||||
## && git checkout $(git tag | grep 'v3.0' | sort -V | tail -1) \
|
||||
## && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||
## && ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
## && cd / \
|
||||
## && rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
## && phalcon commands | grep -E '[.0-9]+'
|
||||
#
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||
# && cd /usr/local/src/mysqldump-secure \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||
# && cd /usr/local/src/awesome-ci \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
|
||||
###
|
||||
### Copy files
|
||||
###
|
||||
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/bash-custom.d
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /shared/backups
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
313
Dockerfiles/work/Dockerfile-7.1
Normal file
313
Dockerfiles/work/Dockerfile-7.1
Normal file
@@ -0,0 +1,313 @@
|
||||
# Auto-generated via Ansible
|
||||
FROM devilbox/php-fpm:7.1-prod
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.1 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.1-work" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
|
||||
|
||||
###
|
||||
### Envs (Already set in parent container)
|
||||
###
|
||||
ENV BASH_PROFILE=".bashrc"
|
||||
|
||||
|
||||
###
|
||||
### Install Tools
|
||||
###
|
||||
|
||||
# System dev tools
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||
ack-grep \
|
||||
aspell \
|
||||
autoconf \
|
||||
automake \
|
||||
bash-completion \
|
||||
bzip2 \
|
||||
coreutils \
|
||||
curl \
|
||||
dnsutils \
|
||||
dos2unix \
|
||||
file \
|
||||
gcc \
|
||||
git \
|
||||
git-svn \
|
||||
hostname \
|
||||
htop \
|
||||
imagemagick \
|
||||
iputils-ping \
|
||||
less \
|
||||
libc-dev \
|
||||
make \
|
||||
# mongo-tools \
|
||||
mongodb-clients \
|
||||
moreutils \
|
||||
mysql-client \
|
||||
nano \
|
||||
net-tools \
|
||||
netcat \
|
||||
postgresql-client \
|
||||
python-pip \
|
||||
rubygems \
|
||||
ruby-dev \
|
||||
shellcheck \
|
||||
silversearcher-ag \
|
||||
subversion \
|
||||
sudo \
|
||||
tig \
|
||||
vim \
|
||||
w3m \
|
||||
wget \
|
||||
whois \
|
||||
xz-utils \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
## Node / NPM
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && VERSION="$( curl -Lq https://nodejs.org 2>/dev/null | grep LTS | grep -Eo 'data-version.*.' | grep -oE 'v[0-9.]+' )" \
|
||||
# && wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 --tries=30 \
|
||||
# -P /usr/local/src https://nodejs.org/dist/${VERSION}/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && unxz /usr/local/src/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && tar xvf /usr/local/src/node-${VERSION}-linux-x64.tar -C /usr/local/src \
|
||||
# && ln -s /usr/local/src/node-${VERSION}-linux-x64 /usr/local/node \
|
||||
# && ln -s /usr/local/node/bin/* /usr/local/bin/ \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64.tar* \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/LICENSE \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/*.md \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/include \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/share \
|
||||
# && npm --version | grep -E '[.0-9]+' \
|
||||
# && node --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.config
|
||||
#
|
||||
## Composer
|
||||
#RUN set -x \
|
||||
# && curl -sS https://getcomposer.org/installer | php \
|
||||
# && mv composer.phar /usr/local/bin/composer \
|
||||
# && composer self-update
|
||||
## && composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /root/.composer
|
||||
#
|
||||
## Drush
|
||||
#RUN set -x \
|
||||
# && DRUSH_VERSION="$( curl -q https://api.github.com/repos/drush-ops/drush/releases 2>/dev/null | grep tag_name | grep -Eo '\"[0-9.]+\"' | head -1 | sed 's/\"//g' )" \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
||||
# && v="${DRUSH_VERSION}" su ${MY_USER} -p -c 'cd /usr/local/src/drush && git checkout ${v}' \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
||||
# && ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
||||
# && drush --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /usr/local/src/drush/.git \
|
||||
# && rm -rf /usr/local/src/drush/docs \
|
||||
# && rm -rf /usr/local/src/drush/examples \
|
||||
# && rm -rf /usr/local/src/drush/misc \
|
||||
# && rm -rf /usr/local/src/drush/tests \
|
||||
# && rm -rf /root/.drush \
|
||||
# && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Drupal Console
|
||||
#RUN set -x \
|
||||
# && curl https://drupalconsole.com/installer -L -o drupal.phar \
|
||||
# && mv drupal.phar /usr/local/bin/drupal \
|
||||
# && chmod +x /usr/local/bin/drupal
|
||||
## && drupal --version | grep -E 'version\s*[.0-9]'
|
||||
#
|
||||
## WP-CLI
|
||||
#RUN set -x \
|
||||
# && curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
|
||||
# && mv wp-cli.phar /usr/local/bin/wp \
|
||||
# && chmod +x /usr/local/bin/wp \
|
||||
# && wp cli update \
|
||||
# && wp --allow-root --version | grep -E '[.0-9]+'
|
||||
#
|
||||
## Symfony CLI
|
||||
#RUN set -x \
|
||||
# && curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
|
||||
# && chmod +x /usr/local/bin/symfony \
|
||||
# && symfony --version | grep -E 'version\s*[.0-9]+'
|
||||
#
|
||||
## Laravel CLI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
# && cd /usr/local/src/laravel-installer \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
||||
# && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
# && rm -rf /usr/local/src/laravel-installer/laravel/.git
|
||||
## && laravel --version | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Phalcon DevTools
|
||||
##RUN set -x \
|
||||
## && mkdir -p /usr/local/src \
|
||||
## && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||
## && cd /usr/local/src/phalcon-devtools \
|
||||
## && git checkout $(git tag | grep 'v3.0' | sort -V | tail -1) \
|
||||
## && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||
## && ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
## && cd / \
|
||||
## && rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
## && phalcon commands | grep -E '[.0-9]+'
|
||||
#
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||
# && cd /usr/local/src/mysqldump-secure \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||
# && cd /usr/local/src/awesome-ci \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
|
||||
###
|
||||
### Copy files
|
||||
###
|
||||
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/bash-custom.d
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /shared/backups
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
313
Dockerfiles/work/Dockerfile-7.2
Normal file
313
Dockerfiles/work/Dockerfile-7.2
Normal file
@@ -0,0 +1,313 @@
|
||||
# Auto-generated via Ansible
|
||||
FROM devilbox/php-fpm:7.2-prod
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM 7.2 Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="7.2-work" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
|
||||
|
||||
###
|
||||
### Envs (Already set in parent container)
|
||||
###
|
||||
ENV BASH_PROFILE=".bashrc"
|
||||
|
||||
|
||||
###
|
||||
### Install Tools
|
||||
###
|
||||
|
||||
# System dev tools
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||
ack-grep \
|
||||
aspell \
|
||||
autoconf \
|
||||
automake \
|
||||
bash-completion \
|
||||
bzip2 \
|
||||
coreutils \
|
||||
curl \
|
||||
dnsutils \
|
||||
dos2unix \
|
||||
file \
|
||||
gcc \
|
||||
git \
|
||||
git-svn \
|
||||
hostname \
|
||||
htop \
|
||||
imagemagick \
|
||||
iputils-ping \
|
||||
less \
|
||||
libc-dev \
|
||||
make \
|
||||
# mongo-tools \
|
||||
mongodb-clients \
|
||||
moreutils \
|
||||
mysql-client \
|
||||
nano \
|
||||
net-tools \
|
||||
netcat \
|
||||
postgresql-client \
|
||||
python-pip \
|
||||
rubygems \
|
||||
ruby-dev \
|
||||
shellcheck \
|
||||
silversearcher-ag \
|
||||
subversion \
|
||||
sudo \
|
||||
tig \
|
||||
vim \
|
||||
w3m \
|
||||
wget \
|
||||
whois \
|
||||
xz-utils \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
## Node / NPM
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && VERSION="$( curl -Lq https://nodejs.org 2>/dev/null | grep LTS | grep -Eo 'data-version.*.' | grep -oE 'v[0-9.]+' )" \
|
||||
# && wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 --tries=30 \
|
||||
# -P /usr/local/src https://nodejs.org/dist/${VERSION}/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && unxz /usr/local/src/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && tar xvf /usr/local/src/node-${VERSION}-linux-x64.tar -C /usr/local/src \
|
||||
# && ln -s /usr/local/src/node-${VERSION}-linux-x64 /usr/local/node \
|
||||
# && ln -s /usr/local/node/bin/* /usr/local/bin/ \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64.tar* \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/LICENSE \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/*.md \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/include \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/share \
|
||||
# && npm --version | grep -E '[.0-9]+' \
|
||||
# && node --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.config
|
||||
#
|
||||
## Composer
|
||||
#RUN set -x \
|
||||
# && curl -sS https://getcomposer.org/installer | php \
|
||||
# && mv composer.phar /usr/local/bin/composer \
|
||||
# && composer self-update
|
||||
## && composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /root/.composer
|
||||
#
|
||||
## Drush
|
||||
#RUN set -x \
|
||||
# && DRUSH_VERSION="$( curl -q https://api.github.com/repos/drush-ops/drush/releases 2>/dev/null | grep tag_name | grep -Eo '\"[0-9.]+\"' | head -1 | sed 's/\"//g' )" \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
||||
# && v="${DRUSH_VERSION}" su ${MY_USER} -p -c 'cd /usr/local/src/drush && git checkout ${v}' \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
||||
# && ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
||||
# && drush --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /usr/local/src/drush/.git \
|
||||
# && rm -rf /usr/local/src/drush/docs \
|
||||
# && rm -rf /usr/local/src/drush/examples \
|
||||
# && rm -rf /usr/local/src/drush/misc \
|
||||
# && rm -rf /usr/local/src/drush/tests \
|
||||
# && rm -rf /root/.drush \
|
||||
# && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Drupal Console
|
||||
#RUN set -x \
|
||||
# && curl https://drupalconsole.com/installer -L -o drupal.phar \
|
||||
# && mv drupal.phar /usr/local/bin/drupal \
|
||||
# && chmod +x /usr/local/bin/drupal
|
||||
## && drupal --version | grep -E 'version\s*[.0-9]'
|
||||
#
|
||||
## WP-CLI
|
||||
#RUN set -x \
|
||||
# && curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
|
||||
# && mv wp-cli.phar /usr/local/bin/wp \
|
||||
# && chmod +x /usr/local/bin/wp \
|
||||
# && wp cli update \
|
||||
# && wp --allow-root --version | grep -E '[.0-9]+'
|
||||
#
|
||||
## Symfony CLI
|
||||
#RUN set -x \
|
||||
# && curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
|
||||
# && chmod +x /usr/local/bin/symfony \
|
||||
# && symfony --version | grep -E 'version\s*[.0-9]+'
|
||||
#
|
||||
## Laravel CLI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
# && cd /usr/local/src/laravel-installer \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
||||
# && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
# && rm -rf /usr/local/src/laravel-installer/laravel/.git
|
||||
## && laravel --version | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Phalcon DevTools
|
||||
##RUN set -x \
|
||||
## && mkdir -p /usr/local/src \
|
||||
## && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||
## && cd /usr/local/src/phalcon-devtools \
|
||||
## && git checkout $(git tag | grep 'v3.0' | sort -V | tail -1) \
|
||||
## && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||
## && ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
## && cd / \
|
||||
## && rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
## && phalcon commands | grep -E '[.0-9]+'
|
||||
#
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||
# && cd /usr/local/src/mysqldump-secure \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||
# && cd /usr/local/src/awesome-ci \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
|
||||
###
|
||||
### Copy files
|
||||
###
|
||||
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/bash-custom.d
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /shared/backups
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
60
Dockerfiles/work/data/bash-devilbox
Normal file
60
Dockerfiles/work/data/bash-devilbox
Normal file
@@ -0,0 +1,60 @@
|
||||
# Bash Completion
|
||||
if ! shopt -oq posix; then
|
||||
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
||||
. /usr/share/bash-completion/bash_completion
|
||||
fi
|
||||
fi
|
||||
|
||||
# Locale
|
||||
export LC_ALL=en_US.UTF-8
|
||||
|
||||
# Aliases
|
||||
alias ls='ls -p --color=always --group-directories-first'
|
||||
alias l='ls -lp --color=always --group-directories-first'
|
||||
alias ll='ls -alp --color=always --group-directories-first'
|
||||
alias ..='cd ..'
|
||||
|
||||
# Nice PS1
|
||||
PS1="\[\e[0;31m\]$(whoami)\[\e[0m\]@\[\e[0;36m\]php-$(php -v|head -1|grep -Eo '[0-9.]+'|head -1)\[\e[0m\] in \[\e[0;34m\]\w \[\e[0m\]\$ "
|
||||
|
||||
# Show Intro
|
||||
echo
|
||||
echo "--------------------------------------------------------------------------------"
|
||||
echo " _ _ _ _ "
|
||||
echo " | | (_) | | "
|
||||
echo " __| | _____ ___| | |__ _____ __"
|
||||
echo " / _\` |/ _ \\ \\ / / | | '_ \\ / _ \\ \\/ /"
|
||||
echo " | (_| | __/\\ V /| | | |_) | (_) > < "
|
||||
echo " \\__,_|\\___| \\_/ |_|_|_.__/ \\___/_/\\_\\"
|
||||
echo " "
|
||||
echo " http://devilbox.org"
|
||||
echo
|
||||
echo
|
||||
echo " | Available Tools | Project website |"
|
||||
echo " |------------------|------------------------------|"
|
||||
echo " | awesome-ci | gh: cytopia/awesome-ci |"
|
||||
echo " | composer | https://getcomposer.org |"
|
||||
echo " | druapl-console | https://drupalconsole.com |"
|
||||
echo " | drush | http://www.drush.org |"
|
||||
echo " | eslint | https://eslint.org |"
|
||||
echo " | git | https://git-scm.com |"
|
||||
echo " | laravel | gh: laravel/installer |"
|
||||
echo " | linuxbrew | http://linuxbrew.sh |"
|
||||
echo " | mysqldump-secure | https://mysqldump-secure.org |"
|
||||
echo " | node | https://nodejs.org |"
|
||||
echo " | npm | https://www.npmjs.com |"
|
||||
echo " | phalcon-devtools | gh: phalcon/phalcon-devtools |"
|
||||
echo " | symfony installer| gh: symfony/symfony-installer|"
|
||||
echo " | webpack | ghL webpack/webpack |"
|
||||
echo " | wpcli | https://wp-cli.org |"
|
||||
echo
|
||||
echo
|
||||
echo " | Available Dirs | Description |"
|
||||
echo " |------------------|------------------------------|"
|
||||
echo " | /shared/httpd | Project base directory |"
|
||||
echo " | /shared/backups | Backup directory |"
|
||||
echo " | /var/mail | Email directory |"
|
||||
echo " | /var/log | Log file directory |"
|
||||
echo
|
||||
echo "--------------------------------------------------------------------------------"
|
||||
echo
|
||||
83
Dockerfiles/work/data/docker-entrypoint.d/40-mysqldump-secure.sh
Executable file
83
Dockerfiles/work/data/docker-entrypoint.d/40-mysqldump-secure.sh
Executable file
@@ -0,0 +1,83 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Available global variables:
|
||||
# + MY_USER
|
||||
# + MY_GROUP
|
||||
# + DEBUG_LEVEL
|
||||
|
||||
|
||||
set -e
|
||||
set -u
|
||||
|
||||
|
||||
|
||||
############################################################
|
||||
# Functions
|
||||
############################################################
|
||||
|
||||
###
|
||||
### Setup Postfix for catch-all
|
||||
###
|
||||
fix_mds_permissions() {
|
||||
mds_cfg=/etc/mysqldump-secure.conf
|
||||
mds_cnf=/etc/mysqldump-secure.cnf
|
||||
mds_log=/var/log/mysqldump-secure.log
|
||||
mds_dir=/shared/backups/mysql
|
||||
|
||||
if [ ! -d "${mds_dir}" ]; then
|
||||
run "mkdir -p ${mds_dir}"
|
||||
fi
|
||||
|
||||
run "chown ${MY_USER}:${MY_GROUP} ${mds_cfg}"
|
||||
run "chown ${MY_USER}:${MY_GROUP} ${mds_cnf}"
|
||||
run "chown ${MY_USER}:${MY_GROUP} ${mds_log}"
|
||||
run "chown ${MY_USER}:${MY_GROUP} ${mds_dir}"
|
||||
|
||||
unset -v mds_cfg
|
||||
unset -v mds_cnf
|
||||
unset -v mds_log
|
||||
unset -v mds_dir
|
||||
}
|
||||
|
||||
set_mds_settings() {
|
||||
mds_user_var="${1}"
|
||||
mds_pass_var="${2}"
|
||||
mds_host_var="${3}"
|
||||
|
||||
mds_cnf=/etc/mysqldump-secure.cnf
|
||||
|
||||
# MySQL user
|
||||
if ! env_set "${mds_user_var}"; then
|
||||
log "info" "\$${mds_user_var} not set for mysqldump-secure. Keeping default user."
|
||||
else
|
||||
mds_user_val="$( env_get "${mds_user_var}" )"
|
||||
log "info" "\$${mds_user_var} set for mysqldump-secure. Changing to '${mds_user_val}'"
|
||||
run "sed -i'' 's/^user.*/user = ${mds_user_val}/g' ${mds_cnf}"
|
||||
fi
|
||||
|
||||
# MySQL pass
|
||||
if ! env_set "${mds_pass_var}"; then
|
||||
log "info" "\$${mds_pass_var} not set for mysqldump-secure. Keeping default password."
|
||||
else
|
||||
mds_pass_val="$( env_get "${mds_pass_var}" )"
|
||||
log "info" "\$${mds_pass_var} set for mysqldump-secure. Changing to '******'"
|
||||
run "sed -i'' 's/^password.*/password = ${mds_pass_val}/g' ${mds_cnf}"
|
||||
fi
|
||||
|
||||
# MySQL host
|
||||
if ! env_set "${mds_host_var}"; then
|
||||
log "info" "\$${mds_host_var} not set for mysqldump-secure. Keeping default host."
|
||||
else
|
||||
mds_host_val="$( env_get "${mds_host_var}" )"
|
||||
log "info" "\$${mds_host_var} set for mysqldump-secure. Changing to '${mds_host_val}'"
|
||||
run "sed -i'' 's/^host.*/host = ${mds_host_val}/g' ${mds_cnf}"
|
||||
fi
|
||||
|
||||
unset -v mds_user_var
|
||||
unset -v mds_pass_var
|
||||
unset -v mds_host_var
|
||||
unset -v mds_user_val
|
||||
unset -v mds_pass_val
|
||||
unset -v mds_host_val
|
||||
unset -v mds_cnf
|
||||
}
|
||||
139
Dockerfiles/work/data/docker-entrypoint.sh
Executable file
139
Dockerfiles/work/data/docker-entrypoint.sh
Executable file
@@ -0,0 +1,139 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Available global variables:
|
||||
# + MY_USER
|
||||
# + MY_GROUP
|
||||
|
||||
set -e
|
||||
set -u
|
||||
|
||||
|
||||
###
|
||||
### Variables
|
||||
###
|
||||
PHP_INI_PATH="/usr/local/etc/php.ini"
|
||||
FPM_ERROR_LOG_CFG="/usr/local/etc/php-fpm.conf"
|
||||
FPM_ACCESS_LOG_CFG="/usr/local/etc/php-fpm.d/zzz-docker.conf"
|
||||
FPM_LOG_DIR="/var/log/php"
|
||||
|
||||
#PHP_CUST_MODULE_DIR="/etc/php-modules.d"
|
||||
|
||||
PHP_CUST_INI_DIR="/etc/php-custom.d"
|
||||
PHP_REAL_INI_DIR="/usr/local/etc/php.d"
|
||||
|
||||
SUPERVISOR_CONFD="/etc/supervisor/conf.d"
|
||||
|
||||
|
||||
###
|
||||
### Source libs
|
||||
###
|
||||
init="$( find /docker-entrypoint.d -name '*.sh' -type f | sort -u )"
|
||||
for f in ${init}; do
|
||||
# shellcheck disable=SC1090
|
||||
. "${f}"
|
||||
done
|
||||
|
||||
|
||||
###
|
||||
### Set Debug level
|
||||
###
|
||||
DEBUG_LEVEL="$( get_debug_level "DEBUG_ENTRYPOINT" "0" )"
|
||||
log "info" "Debug level: ${DEBUG_LEVEL}" "${DEBUG_LEVEL}"
|
||||
|
||||
|
||||
|
||||
#############################################################
|
||||
## Sanity checks
|
||||
#############################################################
|
||||
|
||||
if ! command -v socat >/dev/null 2>&1; then
|
||||
log "err" "socat not found, but required." "${DEBUG_LEVEL}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
#############################################################
|
||||
## Entry Point
|
||||
#############################################################
|
||||
|
||||
###
|
||||
### Change uid/gid
|
||||
###
|
||||
set_uid "NEW_UID"
|
||||
set_gid "NEW_GID"
|
||||
|
||||
|
||||
###
|
||||
### Set timezone
|
||||
###
|
||||
set_timezone "TIMEZONE" "${PHP_INI_PATH}"
|
||||
|
||||
|
||||
###
|
||||
### Set Logging
|
||||
###
|
||||
set_docker_logs \
|
||||
"DOCKER_LOGS" \
|
||||
"${FPM_LOG_DIR}" \
|
||||
"${FPM_ERROR_LOG_CFG}" \
|
||||
"${FPM_ACCESS_LOG_CFG}"
|
||||
|
||||
|
||||
###
|
||||
### Setup postfix
|
||||
###
|
||||
set_postfix "ENABLE_MAIL"
|
||||
|
||||
|
||||
###
|
||||
### Validate socat port forwards
|
||||
###
|
||||
if ! port_forward_validate "FORWARD_PORTS_TO_LOCALHOST"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
###
|
||||
### Supervisor: socat
|
||||
###
|
||||
for line in $( port_forward_get_lines "FORWARD_PORTS_TO_LOCALHOST" ); do
|
||||
lport="$( port_forward_get_lport "${line}" )"
|
||||
rhost="$( port_forward_get_rhost "${line}" )"
|
||||
rport="$( port_forward_get_rport "${line}" )"
|
||||
supervisor_add_service "socat-${lport}-${rhost}-${rport}" "/usr/bin/socat tcp-listen:${lport},reuseaddr,fork tcp:${rhost}:${rport}" "${SUPERVISOR_CONFD}"
|
||||
done
|
||||
|
||||
|
||||
###
|
||||
### Supervisor: rsyslogd & postfix
|
||||
###
|
||||
if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then
|
||||
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${SUPERVISOR_CONFD}" "1"
|
||||
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${SUPERVISOR_CONFD}"
|
||||
fi
|
||||
|
||||
|
||||
###
|
||||
### Supervisor: php-fpm
|
||||
###
|
||||
supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${SUPERVISOR_CONFD}"
|
||||
|
||||
|
||||
###
|
||||
### Copy custom *.ini files
|
||||
###
|
||||
copy_ini_files "${PHP_CUST_INI_DIR}" "${PHP_REAL_INI_DIR}"
|
||||
|
||||
|
||||
###
|
||||
### mysqldump-secure
|
||||
###
|
||||
fix_mds_permissions
|
||||
set_mds_settings "MYSQL_BACKUP_USER" "MYSQL_BACKUP_PASS" "MYSQL_BACKUP_HOST"
|
||||
|
||||
|
||||
###
|
||||
### Start
|
||||
###
|
||||
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
||||
7
Dockerfiles/work/data/sudo-devilbox
Normal file
7
Dockerfiles/work/data/sudo-devilbox
Normal file
@@ -0,0 +1,7 @@
|
||||
# Keep PATH for all sudo commands
|
||||
Defaults env_keep += "PATH"
|
||||
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/local/node/bin
|
||||
|
||||
# Allow devilbox user to do anything without password
|
||||
%devilbox ALL=(ALL) NOPASSWD: ALL
|
||||
|
||||
321
build/ansible/DOCKERFILES/Dockerfile-work.j2
Normal file
321
build/ansible/DOCKERFILES/Dockerfile-work.j2
Normal file
@@ -0,0 +1,321 @@
|
||||
# Auto-generated via Ansible
|
||||
FROM devilbox/php-fpm:{{ php_version }}-prod
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="{{ php_version }}-work" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
|
||||
|
||||
###
|
||||
### Envs (Already set in parent container)
|
||||
###
|
||||
ENV BASH_PROFILE=".bashrc"
|
||||
|
||||
|
||||
###
|
||||
### Install Tools
|
||||
###
|
||||
|
||||
# System dev tools
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||
ack-grep \
|
||||
aspell \
|
||||
autoconf \
|
||||
automake \
|
||||
bash-completion \
|
||||
bzip2 \
|
||||
coreutils \
|
||||
curl \
|
||||
dnsutils \
|
||||
dos2unix \
|
||||
file \
|
||||
gcc \
|
||||
git \
|
||||
git-svn \
|
||||
hostname \
|
||||
htop \
|
||||
imagemagick \
|
||||
iputils-ping \
|
||||
less \
|
||||
libc-dev \
|
||||
make \
|
||||
# mongo-tools \
|
||||
mongodb-clients \
|
||||
moreutils \
|
||||
mysql-client \
|
||||
nano \
|
||||
net-tools \
|
||||
netcat \
|
||||
postgresql-client \
|
||||
python-pip \
|
||||
rubygems \
|
||||
ruby-dev \
|
||||
shellcheck \
|
||||
silversearcher-ag \
|
||||
subversion \
|
||||
sudo \
|
||||
tig \
|
||||
vim \
|
||||
w3m \
|
||||
wget \
|
||||
whois \
|
||||
xz-utils \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
## Node / NPM
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && VERSION="$( curl -Lq https://nodejs.org 2>/dev/null | grep LTS | grep -Eo 'data-version.*.' | grep -oE 'v[0-9.]+' )" \
|
||||
# && wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 --tries=30 \
|
||||
# -P /usr/local/src https://nodejs.org/dist/${VERSION}/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && unxz /usr/local/src/node-${VERSION}-linux-x64.tar.xz \
|
||||
# && tar xvf /usr/local/src/node-${VERSION}-linux-x64.tar -C /usr/local/src \
|
||||
# && ln -s /usr/local/src/node-${VERSION}-linux-x64 /usr/local/node \
|
||||
# && ln -s /usr/local/node/bin/* /usr/local/bin/ \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64.tar* \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/LICENSE \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/*.md \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/include \
|
||||
# && rm -rf /usr/local/src/node-${VERSION}-linux-x64/share \
|
||||
# && npm --version | grep -E '[.0-9]+' \
|
||||
# && node --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.config
|
||||
#
|
||||
## Composer
|
||||
#RUN set -x \
|
||||
# && curl -sS https://getcomposer.org/installer | php \
|
||||
# && mv composer.phar /usr/local/bin/composer \
|
||||
# && composer self-update
|
||||
## && composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /root/.composer
|
||||
#
|
||||
## Drush
|
||||
#RUN set -x \
|
||||
# && DRUSH_VERSION="$( curl -q https://api.github.com/repos/drush-ops/drush/releases 2>/dev/null | grep tag_name | grep -Eo '\"[0-9.]+\"' | head -1 | sed 's/\"//g' )" \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/drush \
|
||||
# && v="${DRUSH_VERSION}" su ${MY_USER} -p -c 'cd /usr/local/src/drush && git checkout ${v}' \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/drush && composer install --no-interaction --no-progress' \
|
||||
# && ln -s /usr/local/src/drush/drush /usr/local/bin/drush \
|
||||
# && drush --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /usr/local/src/drush/.git \
|
||||
# && rm -rf /usr/local/src/drush/docs \
|
||||
# && rm -rf /usr/local/src/drush/examples \
|
||||
# && rm -rf /usr/local/src/drush/misc \
|
||||
# && rm -rf /usr/local/src/drush/tests \
|
||||
# && rm -rf /root/.drush \
|
||||
# && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Drupal Console
|
||||
#RUN set -x \
|
||||
# && curl https://drupalconsole.com/installer -L -o drupal.phar \
|
||||
# && mv drupal.phar /usr/local/bin/drupal \
|
||||
# && chmod +x /usr/local/bin/drupal
|
||||
## && drupal --version | grep -E 'version\s*[.0-9]'
|
||||
#
|
||||
## WP-CLI
|
||||
#RUN set -x \
|
||||
# && curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
|
||||
# && mv wp-cli.phar /usr/local/bin/wp \
|
||||
# && chmod +x /usr/local/bin/wp \
|
||||
# && wp cli update \
|
||||
# && wp --allow-root --version | grep -E '[.0-9]+'
|
||||
#
|
||||
## Symfony CLI
|
||||
#RUN set -x \
|
||||
# && curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
|
||||
# && chmod +x /usr/local/bin/symfony \
|
||||
# && symfony --version | grep -E 'version\s*[.0-9]+'
|
||||
#
|
||||
## Laravel CLI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||
# && cd /usr/local/src/laravel-installer \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
|
||||
# && su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install' \
|
||||
# && ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
|
||||
# && rm -rf /usr/local/src/laravel-installer/laravel/.git
|
||||
## && laravel --version | grep -E 'version\s*[.0-9]+' \
|
||||
## && rm -rf /home/${MY_USER}/.composer
|
||||
#
|
||||
## Phalcon DevTools
|
||||
##RUN set -x \
|
||||
## && mkdir -p /usr/local/src \
|
||||
## && git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||
## && cd /usr/local/src/phalcon-devtools \
|
||||
## && git checkout $(git tag | grep 'v3.0' | sort -V | tail -1) \
|
||||
## && su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||
## && ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||
## && cd / \
|
||||
## && rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||
## && phalcon commands | grep -E '[.0-9]+'
|
||||
#
|
||||
## Mysqldump-secure
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||
# && cd /usr/local/src/mysqldump-secure \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||
# && cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||
# && touch /var/log/mysqldump-secure.log \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||
# && chmod 0400 /etc/mysqldump-secure.conf \
|
||||
# && chmod 0400 /etc/mysqldump-secure.cnf \
|
||||
# && chmod 0644 /var/log/mysqldump-secure.log \
|
||||
# && sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||
# && sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||
# \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/mysqldump-secure \
|
||||
# && mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+'
|
||||
#
|
||||
## Awesome-CI
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||
# && cd /usr/local/src/awesome-ci \
|
||||
# && git checkout $(git describe --abbrev=0 --tags) \
|
||||
# && ./configure --prefix=/usr/local \
|
||||
# && make install \
|
||||
# && cd / \
|
||||
# && rm -rf /usr/local/src/awesome-ci
|
||||
#
|
||||
## Awesome-CI requirements
|
||||
#RUN set -x \
|
||||
# && gem install mdl \
|
||||
# && gem install scss_lint \
|
||||
# && npm install -g eslint \
|
||||
# && npm install -g jsonlint \
|
||||
# && npm install -g mdlint \
|
||||
# && npm install -g gulp \
|
||||
# && rm -rf /root/.gem \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Grunt
|
||||
#RUN set -x \
|
||||
# && npm install -g grunt \
|
||||
# && npm install -g grunt-cli \
|
||||
# && /usr/local/node/bin/grunt --version | grep -E 'v[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Webpack
|
||||
#RUN set -x \
|
||||
# && npm install -g --save-dev webpack \
|
||||
# && /usr/local/node/bin/webpack --version | grep -E '[.0-9]+' \
|
||||
# && rm -rf /root/.npm \
|
||||
# && rm -rf /root/.config \
|
||||
# && rm -rf /tmp/*
|
||||
#
|
||||
## Linuxbrew
|
||||
#RUN set -x \
|
||||
# && mkdir -p /usr/local/src \
|
||||
# && git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
||||
# && chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||
# && v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||
# 'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||
# && su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' | grep -E 'HOMEBREW_VERSION:\s*[.0-9]+' \
|
||||
# && rm -rf /home/${MY_USER}/.cache
|
||||
#
|
||||
#
|
||||
#
|
||||
####
|
||||
#### Configure Bash
|
||||
####
|
||||
#RUN \
|
||||
# { \
|
||||
# echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||
# echo "export PATH"; \
|
||||
# echo ". /etc/bash-devilbox"; \
|
||||
# echo "if [ -d /etc/bash-custom.d/ ]; then"; \
|
||||
# echo " for f in /etc/bash-custom.d/*.sh ; do"; \
|
||||
# echo " if [ -r \"\${f}\" ]; then"; \
|
||||
# echo " . \"\${f}\""; \
|
||||
# echo " fi"; \
|
||||
# echo " done"; \
|
||||
# echo " unset f"; \
|
||||
# echo "fi"; \
|
||||
# } | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||
# && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||
#
|
||||
|
||||
|
||||
{% if debug %}
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||
|
||||
|
||||
{% endif %}
|
||||
###
|
||||
### Copy files
|
||||
###
|
||||
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
VOLUME /etc/bash-custom.d
|
||||
VOLUME /etc/php-custom.d
|
||||
VOLUME /etc/php-modules.d
|
||||
VOLUME /shared/backups
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Where to start inside the container
|
||||
###
|
||||
WORKDIR /shared/httpd
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
@@ -7,6 +7,9 @@ template_files:
|
||||
dst: "../../Dockerfiles/mods/Dockerfile-{{ php_version }}"
|
||||
- src: DOCKERFILES/Dockerfile-prod.j2
|
||||
dst: "../../Dockerfiles/prod/Dockerfile-{{ php_version }}"
|
||||
- src: DOCKERFILES/Dockerfile-work.j2
|
||||
dst: "../../Dockerfiles/work/Dockerfile-{{ php_version }}"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user