Skip to content

Commit 5291f0f

Browse files
Merging workspace Dockerfiles
Should fix laradock#864 and laradock#870
1 parent d448730 commit 5291f0f

1 file changed

Lines changed: 165 additions & 3 deletions

File tree

workspace/Dockerfile-71

Lines changed: 165 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,22 @@ ARG PGID=1000
4949
RUN groupadd -g $PGID laradock && \
5050
useradd -u $PUID -g laradock -m laradock
5151

52+
53+
#####################################
54+
# SOAP:
55+
#####################################
56+
USER root
57+
58+
ARG INSTALL_SOAP=false
59+
ENV INSTALL_SOAP ${INSTALL_SOAP}
60+
61+
RUN if [ ${INSTALL_SOAP} = true ]; then \
62+
# Install the PHP SOAP extension
63+
apt-get -y update && \
64+
add-apt-repository -y ppa:ondrej/php && \
65+
apt-get -y install libxml2-dev php7.1-soap \
66+
;fi
67+
5268
#####################################
5369
# Set Timezone
5470
#####################################
@@ -81,7 +97,25 @@ RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
8197
#####################################
8298
USER root
8399

84-
COPY ./crontab /var/spool/cron/crontabs
100+
COPY ./crontab /etc/cron.d
101+
RUN chmod -R 644 /etc/cron.d
102+
103+
#####################################
104+
# User Aliases
105+
#####################################
106+
107+
USER laradock
108+
COPY ./aliases.sh /home/laradock/aliases.sh
109+
RUN echo "" >> ~/.bashrc && \
110+
echo "# Load Custom Aliases" >> ~/.bashrc && \
111+
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
112+
echo "" >> ~/.bashrc
113+
114+
USER root
115+
RUN echo "" >> ~/.bashrc && \
116+
echo "# Load Custom Aliases" >> ~/.bashrc && \
117+
echo "source /home/laradock/aliases.sh" >> ~/.bashrc && \
118+
echo "" >> ~/.bashrc
85119

86120
#####################################
87121
# xDebug:
@@ -176,7 +210,7 @@ ENV INSTALL_NODE ${INSTALL_NODE}
176210
ENV NVM_DIR /home/laradock/.nvm
177211
RUN if [ ${INSTALL_NODE} = true ]; then \
178212
# Install nvm (A Node Version Manager)
179-
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.6/install.sh | bash && \
213+
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash && \
180214
. $NVM_DIR/nvm.sh && \
181215
nvm install ${NODE_VERSION} && \
182216
nvm use ${NODE_VERSION} && \
@@ -209,10 +243,16 @@ USER laradock
209243

210244
ARG INSTALL_YARN=false
211245
ENV INSTALL_YARN ${INSTALL_YARN}
246+
ARG YARN_VERSION=latest
247+
ENV YARN_VERSION ${YARN_VERSION}
212248

213249
RUN if [ ${INSTALL_YARN} = true ]; then \
214250
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && \
215-
curl -o- -L https://yarnpkg.com/install.sh | bash && \
251+
if [ ${YARN_VERSION} = "latest" ]; then \
252+
curl -o- -L https://yarnpkg.com/install.sh | bash; \
253+
else \
254+
curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version ${YARN_VERSION}; \
255+
fi && \
216256
echo "" >> ~/.bashrc && \
217257
echo 'export PATH="$HOME/.yarn/bin:$PATH"' >> ~/.bashrc \
218258
;fi
@@ -255,6 +295,23 @@ RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = false ]; then \
255295
rm /etc/php/7.1/cli/conf.d/aerospike.ini \
256296
;fi
257297

298+
#####################################
299+
# PHP V8JS:
300+
#####################################
301+
USER root
302+
303+
ARG INSTALL_V8JS_EXTENSION=false
304+
ENV INSTALL_V8JS_EXTENSION ${INSTALL_V8JS_EXTENSION}
305+
306+
RUN if [ ${INSTALL_V8JS_EXTENSION} = true ]; then \
307+
# Install the php V8JS extension
308+
add-apt-repository -y ppa:pinepain/libv8-5.4 \
309+
&& apt-get update \
310+
&& apt-get install -y php-dev php-pear libv8-5.4 \
311+
&& pecl install v8js \
312+
&& echo "extension=v8js.so" >> /etc/php/7.1/cli/php.ini \
313+
;fi
314+
258315
#####################################
259316
# Non-root user : PHPUnit path
260317
#####################################
@@ -265,6 +322,111 @@ USER laradock
265322
RUN echo "" >> ~/.bashrc && \
266323
echo 'export PATH="/var/www/vendor/bin:$PATH"' >> ~/.bashrc
267324

325+
#####################################
326+
# Laravel Artisan Alias
327+
#####################################
328+
USER root
329+
330+
RUN echo "" >> ~/.bashrc && \
331+
echo 'alias art="php artisan"' >> ~/.bashrc
332+
333+
#####################################
334+
# Laravel Envoy:
335+
#####################################
336+
USER laradock
337+
338+
ARG INSTALL_LARAVEL_ENVOY=true
339+
ENV INSTALL_LARAVEL_ENVOY ${INSTALL_LARAVEL_ENVOY}
340+
341+
RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
342+
# Install the Laravel Envoy
343+
composer global require "laravel/envoy=~1.0" \
344+
;fi
345+
346+
#####################################
347+
# Deployer:
348+
#####################################
349+
USER laradock
350+
351+
ARG INSTALL_DEPLOYER=false
352+
ENV INSTALL_DEPLOYER ${INSTALL_DEPLOYER}
353+
354+
RUN if [ ${INSTALL_DEPLOYER} = true ]; then \
355+
# Install the Deployer
356+
composer global require "deployer/deployer" \
357+
;fi
358+
359+
#####################################
360+
# Linuxbrew:
361+
#####################################
362+
USER root
363+
364+
ARG INSTALL_LINUXBREW=true
365+
ENV INSTALL_LINUXBREW ${INSTALL_LINUXBREW}
366+
367+
RUN if [ ${INSTALL_LINUXBREW} = true ]; then \
368+
369+
# Preparation
370+
apt-get update && \
371+
apt-get upgrade -y && \
372+
apt-get install -y build-essential make cmake scons curl git \
373+
ruby autoconf automake autoconf-archive \
374+
gettext libtool flex bison \
375+
libbz2-dev libcurl4-openssl-dev \
376+
libexpat-dev libncurses-dev && \
377+
378+
# Install the Linuxbrew
379+
git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew && \
380+
381+
echo "" >> ~/.bashrc && \
382+
echo 'export PKG_CONFIG_PATH"=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc && \
383+
384+
# Setup linuxbrew
385+
echo 'export LINUXBREWHOME="$HOME/.linuxbrew"' >> ~/.bashrc && \
386+
echo 'export PATH="$LINUXBREWHOME/bin:$PATH"' >> ~/.bashrc && \
387+
echo 'export MANPATH="$LINUXBREWHOME/man:$MANPATH"' >> ~/.bashrc && \
388+
echo 'export PKG_CONFIG_PATH="$LINUXBREWHOME/lib64/pkgconfig:$LINUXBREWHOME/lib/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc && \
389+
echo 'export LD_LIBRARY_PATH="$LINUXBREWHOME/lib64:$LINUXBREWHOME/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc \
390+
;fi
391+
392+
#####################################
393+
# Minio:
394+
#####################################
395+
USER root
396+
ARG INSTALL_MC=false
397+
ENV INSTALL_MC ${INSTALL_MC}
398+
399+
COPY mc/config.json /root/.mc/config.json
400+
401+
RUN if [ ${INSTALL_MC} = true ]; then\
402+
curl -fsSL -o /usr/local/bin/mc https://dl.minio.io/client/mc/release/linux-amd64/mc && \
403+
chmod +x /usr/local/bin/mc \
404+
;fi
405+
406+
#####################################
407+
# Symfony:
408+
#####################################
409+
USER root
410+
ARG INSTALL_SYMFONY=false
411+
ENV INSTALL_SYMFONY ${INSTALL_SYMFONY}
412+
RUN if [ ${INSTALL_SYMFONY} = true ]; then \
413+
414+
mkdir -p /usr/local/bin \
415+
&& curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
416+
&& chmod a+x /usr/local/bin/symfony \
417+
418+
# Symfony 3 alias
419+
&& echo 'alias dev="php bin/console -e=dev"' >> ~/.bashrc \
420+
&& echo 'alias prod="php bin/console -e=prod"' >> ~/.bashrc \
421+
422+
# Symfony 2 alias
423+
# && echo 'alias dev="php app/console -e=dev"' >> ~/.bashrc \
424+
# && echo 'alias prod="php app/console -e=prod"' >> ~/.bashrc \
425+
426+
;fi
427+
428+
USER laradock
429+
268430
#
269431
#--------------------------------------------------------------------------
270432
# Final Touch

0 commit comments

Comments
 (0)