mirror of https://github.com/mastodon/mastodon
commit
30df1c8476
43
Dockerfile
43
Dockerfile
|
@ -1,24 +1,31 @@
|
||||||
FROM ruby:2.3.1
|
FROM ruby:2.3.1-alpine
|
||||||
|
|
||||||
ENV RAILS_ENV=production
|
ENV RAILS_ENV=production \
|
||||||
ENV NODE_ENV=production
|
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
|
|
||||||
|
|
||||||
WORKDIR /mastodon
|
WORKDIR /mastodon
|
||||||
|
|
||||||
ADD Gemfile /mastodon/Gemfile
|
COPY . /mastodon
|
||||||
ADD Gemfile.lock /mastodon/Gemfile.lock
|
|
||||||
RUN bundle install --deployment --without test development
|
|
||||||
|
|
||||||
ADD package.json /mastodon/package.json
|
RUN BUILD_DEPS=" \
|
||||||
ADD yarn.lock /mastodon/yarn.lock
|
postgresql-dev \
|
||||||
RUN yarn
|
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 \
|
||||||
|
&& yarn \
|
||||||
|
&& npm cache clean \
|
||||||
|
&& apk del $BUILD_DEPS \
|
||||||
|
&& rm -rf /tmp/* /var/cache/apk/*
|
||||||
|
|
||||||
ADD . /mastodon
|
VOLUME /mastodon/public/system /mastodon/public/assets
|
||||||
|
|
||||||
VOLUME ["/mastodon/public/system", "/mastodon/public/assets"]
|
|
||||||
|
|
1
Gemfile
1
Gemfile
|
@ -51,6 +51,7 @@ gem 'simple-navigation'
|
||||||
gem 'statsd-instrument'
|
gem 'statsd-instrument'
|
||||||
gem 'ruby-oembed', require: 'oembed'
|
gem 'ruby-oembed', require: 'oembed'
|
||||||
gem 'rack-timeout'
|
gem 'rack-timeout'
|
||||||
|
gem 'tzinfo-data'
|
||||||
|
|
||||||
gem 'react-rails'
|
gem 'react-rails'
|
||||||
gem 'browserify-rails'
|
gem 'browserify-rails'
|
||||||
|
|
|
@ -423,6 +423,8 @@ GEM
|
||||||
unf (~> 0.1.0)
|
unf (~> 0.1.0)
|
||||||
tzinfo (1.2.2)
|
tzinfo (1.2.2)
|
||||||
thread_safe (~> 0.1)
|
thread_safe (~> 0.1)
|
||||||
|
tzinfo-data (1.2017.2)
|
||||||
|
tzinfo (>= 1.0.0)
|
||||||
uglifier (3.0.1)
|
uglifier (3.0.1)
|
||||||
execjs (>= 0.3.0, < 3)
|
execjs (>= 0.3.0, < 3)
|
||||||
unf (0.1.4)
|
unf (0.1.4)
|
||||||
|
@ -513,6 +515,7 @@ DEPENDENCIES
|
||||||
simplecov
|
simplecov
|
||||||
statsd-instrument
|
statsd-instrument
|
||||||
twitter-text
|
twitter-text
|
||||||
|
tzinfo-data
|
||||||
uglifier (>= 1.3.0)
|
uglifier (>= 1.3.0)
|
||||||
webmock
|
webmock
|
||||||
will_paginate
|
will_paginate
|
||||||
|
|
Loading…
Reference in New Issue