Skip to content

Commit

Permalink
Merge pull request #4 from bkuhl/split-lumen-laravel
Browse files Browse the repository at this point in the history
Split lumen laravel
  • Loading branch information
bkuhl committed Jun 4, 2017
2 parents efe1d4e + b013a3b commit a026a2a
Show file tree
Hide file tree
Showing 4 changed files with 99 additions and 70 deletions.
24 changes: 24 additions & 0 deletions .travis.yml
@@ -0,0 +1,24 @@
language: bash
services: docker
install:
- git clone https://github.com/docker-library/official-images.git ~/official-images
before_script:
- docker -v
- lumenImage="bkuhl/fpm-nginx:latest"
- laravelImage="bkuhl/fpm-nginx:laravel-latest"
script:
- docker build -t "$lumenImage" .
- docker build -t "$laravelImage" -f ./laravel.Dockerfile .
# Disabling because we don't want cmd to be overwriteable
# - ~/official-images/test/run.sh "$image"
- docker images
before_deploy:
# Extract the version components out of a `v12.34.56` or `12.34.56` version string (only works if this is a semantically versioned tag)
- IFS=. read MAJOR MINOR PATCH <<< "${TRAVIS_TAG#v}"
- docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
deploy:
provider: script
script: docker push "$laravelImage" && docker tag "$laravelImage" "bkuhl/fpm-nginx:laravel-fpm_v${MAJOR}" && docker push "bkuhl/fpm-nginx:laravel-fpm_v${MAJOR}" && docker tag "$laravelImage" "bkuhl/fpm-nginx:laravel-fpm_v${MAJOR}.${MINOR}" && docker push "bkuhl/fpm-nginx:laravel-fpm_v${MAJOR}.${MINOR}" && docker tag "$laravelImage" "bkuhl/fpm-nginx:laravel-fpm_v${MAJOR}.${MINOR}.${PATCH}" && docker push "bkuhl/fpm-nginx:fpm_v${MAJOR}.${MINOR}.${PATCH}" && docker push "$lumenImage" && docker tag "$lumenImage" "bkuhl/fpm-nginx:lumen-fpm_v${MAJOR}" && docker push "bkuhl/fpm-nginx:lumen-fpm_v${MAJOR}" && docker tag "$lumenImage" "bkuhl/fpm-nginx:lumen-fpm_v${MAJOR}.${MINOR}" && docker push "bkuhl/fpm-nginx:lumen-fpm_v${MAJOR}.${MINOR}" && docker tag "$lumenImage" "bkuhl/fpm-nginx:lumen-fpm_v${MAJOR}.${MINOR}.${PATCH}" && docker push "bkuhl/fpm-nginx:lumen-fpm_v${MAJOR}.${MINOR}.${PATCH}"
skip_cleanup: false
on:
tags: true
70 changes: 1 addition & 69 deletions Dockerfile
@@ -1,14 +1,11 @@
FROM php:7.1-fpm-alpine
FROM php:7.1.5-fpm-alpine

WORKDIR /var/www/html

COPY install_composer.php /var/www/html/install_composer.php

ENV S6_OVERLAY_VERSION=v1.19.1.1
ENV NGINX_VERSION 1.13.0
ENV NPM_CONFIG_LOGLEVEL info
ENV NODE_VERSION 7.10.0
ENV YARN_VERSION 0.24.4

# ------------------------ add nginx ------------------------
# Taken from official nginx container Dockerfile
Expand Down Expand Up @@ -176,71 +173,6 @@ RUN \

&& rm /var/www/html/install_composer.php

# ------------------------ add Node / NPM ------------------------

RUN addgroup -g 1000 node \
&& adduser -u 1000 -G node -s /bin/sh -D node \
&& apk add --no-cache \
libstdc++ \
&& apk add --no-cache --virtual .build-deps \
binutils-gold \
curl \
g++ \
gcc \
gnupg \
libgcc \
linux-headers \
make \
python \
# gpg keys listed at https://github.com/nodejs/node#release-team
&& for key in \
9554F04D7259F04124DE6B476D5A82AC7E37093B \
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
FD3A5288F042B6850C66B31F09FE44734EB7990E \
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
56730D5401028683275BD23C23EFEFE93C4CFFFE \
; do \
gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
gpg --keyserver keyserver.pgp.com --recv-keys "$key" || \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" ; \
done \
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
&& curl -SLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
&& grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
&& tar -xf "node-v$NODE_VERSION.tar.xz" \
&& cd "node-v$NODE_VERSION" \
&& ./configure \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& apk del .build-deps \
&& cd .. \
&& rm -Rf "node-v$NODE_VERSION" \
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \

# ------------------------ add Yarn ------------------------

&& apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \
&& for key in \
6A010C5166006599AA17F08146C2130DFD2497F5 \
; do \
gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
gpg --keyserver keyserver.pgp.com --recv-keys "$key" || \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" ; \
done \
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
&& mkdir -p /opt/yarn \
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/yarn --strip-components=1 \
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn \
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarnpkg \
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
&& apk del .build-deps-yarn

# ------------------------ start fpm/nginx ------------------------

COPY services.d /etc/services.d
Expand Down
5 changes: 4 additions & 1 deletion README.md
Expand Up @@ -12,7 +12,10 @@ This container is intended to run Laravel applications and thus comes with a few
* [pdo_mysql](http://php.net/manual/en/ref.pdo-mysql.php)
* [gd](http://php.net/manual/en/book.image.php)
* [opcache](http://php.net/manual/en/book.opcache.php) - Automatically enabled when `APP_ENV=production`
* Laravel Mix support via [Yarn](https://yarnpkg.com), [Npm](https://www.npmjs.com) and [Node](https://nodejs.org)


The `laravel-*` tag contains:
* Laravel Mix support via [Node](https://nodejs.org), [Npm](https://www.npmjs.com) and [Yarn](https://yarnpkg.com)

For a container to run cron, migrations or queue workers for Laravel applications, check out [bkuhl/php](https://github.com/bkuhl/php)

Expand Down
70 changes: 70 additions & 0 deletions laravel.Dockerfile
@@ -0,0 +1,70 @@
FROM bkuhl/fpm-nginx:latest

ENV NPM_CONFIG_LOGLEVEL info
ENV NODE_VERSION 7.10.0
ENV YARN_VERSION 0.24.4

# ------------------------ add Node / NPM ------------------------

RUN addgroup -g 1000 node \
&& adduser -u 1000 -G node -s /bin/sh -D node \
&& apk add --no-cache \
libstdc++ \
&& apk add --no-cache --virtual .build-deps \
binutils-gold \
curl \
g++ \
gcc \
gnupg \
libgcc \
linux-headers \
make \
python \
# gpg keys listed at https://github.com/nodejs/node#release-team
&& for key in \
9554F04D7259F04124DE6B476D5A82AC7E37093B \
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
FD3A5288F042B6850C66B31F09FE44734EB7990E \
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
56730D5401028683275BD23C23EFEFE93C4CFFFE \
; do \
gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
gpg --keyserver keyserver.pgp.com --recv-keys "$key" || \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" ; \
done \
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
&& curl -SLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
&& grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
&& tar -xf "node-v$NODE_VERSION.tar.xz" \
&& cd "node-v$NODE_VERSION" \
&& ./configure \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& apk del .build-deps \
&& cd .. \
&& rm -Rf "node-v$NODE_VERSION" \
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \

# ------------------------ add Yarn ------------------------

&& apk add --no-cache --virtual .build-deps-yarn curl gnupg tar \
&& for key in \
6A010C5166006599AA17F08146C2130DFD2497F5 \
; do \
gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
gpg --keyserver keyserver.pgp.com --recv-keys "$key" || \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" ; \
done \
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
&& curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
&& mkdir -p /opt/yarn \
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/yarn --strip-components=1 \
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn \
&& ln -s /opt/yarn/bin/yarn /usr/local/bin/yarnpkg \
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
&& apk del .build-deps-yarn

0 comments on commit a026a2a

Please sign in to comment.