-
Notifications
You must be signed in to change notification settings - Fork 115
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'dev' for release 4.2.0
- Loading branch information
Showing
181 changed files
with
4,207 additions
and
777 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,79 +1,86 @@ | ||
FROM ruby:2.3 | ||
FROM ruby:2.3.8-alpine | ||
MAINTAINER [email protected] | ||
|
||
# First we need to be able to fetch from https repositories | ||
RUN apt-get update && \ | ||
apt-get install -y apt-transport-https \ | ||
ca-certificates apt-utils | ||
|
||
|
||
# Add sources for external tools to APT | ||
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ | ||
curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ | ||
echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list && \ | ||
echo "deb https://deb.nodesource.com/node_10.x jessie main" > /etc/apt/sources.list.d/nodesource.list && \ | ||
echo "deb-src https://deb.nodesource.com/node_10.x jessie main" >> /etc/apt/sources.list.d/nodesource.list | ||
|
||
# Install apt based dependencies required to run Rails as | ||
# well as RubyGems. As the Ruby image itself is based on a | ||
# Debian image, we use apt-get to install those. | ||
RUN apt-get update && \ | ||
apt-get install -y \ | ||
# Install upgrade system packages | ||
RUN apk update && apk upgrade && \ | ||
# Install runtime apk dependencies | ||
apk add --update \ | ||
bash \ | ||
curl \ | ||
nodejs \ | ||
yarn \ | ||
imagemagick \ | ||
supervisor \ | ||
yarn | ||
|
||
# throw errors if Gemfile has been modified since Gemfile.lock | ||
tzdata \ | ||
libc-dev \ | ||
ruby-dev \ | ||
zlib-dev \ | ||
xz-dev \ | ||
postgresql-dev \ | ||
libxml2-dev \ | ||
libxslt-dev \ | ||
libidn-dev && \ | ||
# Install buildtime apk dependencies | ||
apk add --update --no-cache --virtual .build-deps \ | ||
alpine-sdk \ | ||
build-base \ | ||
linux-headers \ | ||
git \ | ||
patch | ||
|
||
# Throw error if Gemfile has been modified since Gemfile.lock | ||
RUN bundle config --global frozen 1 | ||
|
||
# Run Bundle in a cache efficient way | ||
# Install gems in a cache efficient way | ||
WORKDIR /tmp | ||
COPY Gemfile /tmp/ | ||
COPY Gemfile.lock /tmp/ | ||
RUN bundle install --binstubs | ||
RUN bundle install --binstubs --without development test doc | ||
|
||
# Install Javascript packages | ||
WORKDIR /usr/src/app | ||
COPY package.json /usr/src/app/package.json | ||
COPY yarn.lock /usr/src/app/yarn.lock | ||
RUN yarn install | ||
|
||
# Clean up APT when done. | ||
#RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* | ||
# Clean up build deps, cached packages and temp files | ||
RUN apk del .build-deps && \ | ||
yarn cache clean && \ | ||
rm -rf /tmp/* \ | ||
/var/tmp/* \ | ||
/var/cache/apk/* \ | ||
/usr/lib/ruby/gems/*/cache/* | ||
|
||
# Web app | ||
RUN mkdir -p /usr/src/app && \ | ||
mkdir -p /usr/src/app/config && \ | ||
mkdir -p /usr/src/app/invoices && \ | ||
mkdir -p /usr/src/app/exports && \ | ||
mkdir -p /usr/src/app/imports && \ | ||
mkdir -p /usr/src/app/log && \ | ||
mkdir -p /usr/src/app/public/uploads && \ | ||
mkdir -p /usr/src/app/public/assets && \ | ||
mkdir -p /usr/src/app/accounting && \ | ||
mkdir -p /usr/src/app/tmp/sockets && \ | ||
mkdir -p /usr/src/app/tmp/pids | ||
|
||
WORKDIR /usr/src/app | ||
|
||
COPY docker/database.yml /usr/src/app/config/database.yml | ||
COPY package.json /usr/src/app/package.json | ||
COPY yarn.lock /usr/src/app/yarn.lock | ||
|
||
# Run Yarn | ||
RUN yarn install | ||
|
||
COPY . /usr/src/app | ||
|
||
# Volumes | ||
VOLUME /usr/src/app/invoices | ||
VOLUME /usr/src/app/exports | ||
VOLUME /usr/src/app/imports | ||
VOLUME /usr/src/app/public | ||
VOLUME /usr/src/app/public/uploads | ||
VOLUME /usr/src/app/public/assets | ||
VOLUME /usr/src/app/accounting | ||
VOLUME /var/log/supervisor | ||
|
||
# Expose port 3000 to the Docker host, so we can access it | ||
# from the outside. | ||
# Expose port 3000 to the Docker host, so we can access it from the outside | ||
EXPOSE 3000 | ||
|
||
# The main command to run when the container starts. Also | ||
# tell the Rails dev server to bind to all interfaces by | ||
# default. | ||
# The main command to run when the container starts. Also tell the Rails server | ||
# to bind to all interfaces by default. | ||
COPY docker/supervisor.conf /etc/supervisor/conf.d/fablab.conf | ||
CMD ["/usr/bin/supervisord"] | ||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/fablab.conf"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.