]> cat aescling's git repositories - mastodon.git/blob - Dockerfile
Bump puma from 3.9.1 to 3.10.0 (#4879)
[mastodon.git] / Dockerfile
1 FROM ruby:2.4.1-alpine3.6
2
3 LABEL maintainer="https://github.com/tootsuite/mastodon" \
4 description="A GNU Social-compatible microblogging server"
5
6 ENV UID=991 GID=991 \
7 RAILS_SERVE_STATIC_FILES=true \
8 RAILS_ENV=production NODE_ENV=production
9
10 ARG LIBICONV_VERSION=1.15
11 ARG LIBICONV_DOWNLOAD_SHA256=ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178
12
13 EXPOSE 3000 4000
14
15 WORKDIR /mastodon
16
17 RUN apk -U upgrade \
18 && apk add -t build-dependencies \
19 build-base \
20 icu-dev \
21 libidn-dev \
22 libtool \
23 postgresql-dev \
24 protobuf-dev \
25 python \
26 && apk add \
27 ca-certificates \
28 ffmpeg \
29 file \
30 git \
31 icu-libs \
32 imagemagick \
33 libidn \
34 libpq \
35 nodejs-npm \
36 nodejs \
37 protobuf \
38 su-exec \
39 tini \
40 yarn \
41 && update-ca-certificates \
42 && wget -O libiconv.tar.gz "http://ftp.gnu.org/pub/gnu/libiconv/libiconv-$LIBICONV_VERSION.tar.gz" \
43 && echo "$LIBICONV_DOWNLOAD_SHA256 *libiconv.tar.gz" | sha256sum -c - \
44 && mkdir -p /tmp/src \
45 && tar -xzf libiconv.tar.gz -C /tmp/src \
46 && rm libiconv.tar.gz \
47 && cd /tmp/src/libiconv-$LIBICONV_VERSION \
48 && ./configure --prefix=/usr/local \
49 && make -j$(getconf _NPROCESSORS_ONLN)\
50 && make install \
51 && libtool --finish /usr/local/lib \
52 && cd /mastodon \
53 && rm -rf /tmp/* /var/cache/apk/*
54
55 COPY Gemfile Gemfile.lock package.json yarn.lock /mastodon/
56
57 RUN bundle config build.nokogiri --with-iconv-lib=/usr/local/lib --with-iconv-include=/usr/local/include \
58 && bundle install -j$(getconf _NPROCESSORS_ONLN) --deployment --without test development \
59 && yarn --ignore-optional --pure-lockfile
60
61 COPY . /mastodon
62
63 COPY docker_entrypoint.sh /usr/local/bin/run
64
65 RUN chmod +x /usr/local/bin/run
66
67 VOLUME /mastodon/public/system /mastodon/public/assets /mastodon/public/packs
68
69 ENTRYPOINT ["/usr/local/bin/run"]
This page took 0.078817 seconds and 4 git commands to generate.