about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWonderfall <wonderfall@schrodinger.io>2017-04-03 00:46:44 +0200
committerWonderfall <wonderfall@schrodinger.io>2017-04-03 00:46:44 +0200
commit92d35c52d9829fe628b4c980772eead9686e1c79 (patch)
treee4ead372a1adf447cbcb77aef052608c68c3b5af
parentd7d60073f90649aa3da46b0826f67b918a67a9d7 (diff)
update Dockerfile
-rw-r--r--Dockerfile44
-rw-r--r--Gemfile1
-rw-r--r--Gemfile.lock3
3 files changed, 30 insertions, 18 deletions
diff --git a/Dockerfile b/Dockerfile
index 1f95f4f49..506503290 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 764010d5d..46baed307 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 3ad535379..6e3115249 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