diff --git a/Dockerfile b/Dockerfile index 1f95f4f497..5065032905 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,24 +1,32 @@ -FROM ruby:2.3.1 +FROM ruby:2.3.1-alpine -ENV RAILS_ENV=production -ENV NODE_ENV=production - -RUN echo 'deb http://httpredir.debian.org/debian jessie-backports main contrib non-free' >> /etc/apt/sources.list -RUN curl -sL https://deb.nodesource.com/setup_4.x | bash - -RUN apt-get update -qq && apt-get install -y build-essential libpq-dev libxml2-dev libxslt1-dev nodejs ffmpeg && rm -rf /var/lib/apt/lists/* -RUN npm install -g npm@3 && npm install -g yarn -RUN mkdir /mastodon +ENV RAILS_ENV=production \ + NODE_ENV=production WORKDIR /mastodon -ADD Gemfile /mastodon/Gemfile -ADD Gemfile.lock /mastodon/Gemfile.lock -RUN bundle install --deployment --without test development - -ADD package.json /mastodon/package.json -ADD yarn.lock /mastodon/yarn.lock -RUN yarn +COPY . /mastodon -ADD . /mastodon +RUN BUILD_DEPS=" \ + postgresql-dev \ + libxml2-dev \ + libxslt-dev \ + build-base" \ + && apk -U upgrade && apk add \ + $BUILD_DEPS \ + nodejs \ + libpq \ + libxml2 \ + libxslt \ + ffmpeg \ + file \ + imagemagick \ + && npm install -g npm@3 && npm install -g yarn \ + && bundle install --deployment --without test development \ + && gem install tzinfo-data \ + && yarn \ + && npm cache clean \ + && apk del $BUILD_DEPS \ + && rm -rf /tmp/* /var/cache/apk/* -VOLUME ["/mastodon/public/system", "/mastodon/public/assets"] +VOLUME /mastodon/public/system /mastodon/public/assets diff --git a/Gemfile b/Gemfile index 764010d5d8..46baed3079 100644 --- a/Gemfile +++ b/Gemfile @@ -51,6 +51,7 @@ gem 'simple-navigation' gem 'statsd-instrument' gem 'ruby-oembed', require: 'oembed' gem 'rack-timeout' +gem 'tzinfo-data' gem 'react-rails' gem 'browserify-rails' diff --git a/Gemfile.lock b/Gemfile.lock index 3ad5353793..6e3115249d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -423,6 +423,8 @@ GEM unf (~> 0.1.0) tzinfo (1.2.2) thread_safe (~> 0.1) + tzinfo-data (1.2017.2) + tzinfo (>= 1.0.0) uglifier (3.0.1) execjs (>= 0.3.0, < 3) unf (0.1.4) @@ -513,6 +515,7 @@ DEPENDENCIES simplecov statsd-instrument twitter-text + tzinfo-data uglifier (>= 1.3.0) webmock will_paginate