Created
October 13, 2017 05:32
-
-
Save unarist/eef2ea05b6b3c71aede0405dee4f35f0 to your computer and use it in GitHub Desktop.
devdondocker
This file contains hidden or 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
version: '3' | |
volumes: | |
node_modules: | |
gems: | |
yarn: | |
services: | |
db: | |
restart: on-failure:1 | |
ports: | |
- "5433:5432" | |
redis: | |
restart: on-failure:1 | |
web: | |
build: | |
context: . | |
dockerfile: Dockerfile.dev | |
restart: on-failure:1 | |
# environment: | |
# RAILS_ENV: production | |
volumes: | |
- ./app:/mastodon/app | |
# - ./bin:/mastodon/bin | |
- ./config:/mastodon/config | |
- ./db:/mastodon/db | |
- ./lib:/mastodon/lib | |
- ./spec:/mastodon/spec | |
- ./coverage:/mastodon/coverage | |
- ./public:/mastodon/public | |
# - ./babelrc:/mastodon/.babelrc | |
# - ./config.ru:/mastodon/config.ru | |
# install -> rebuild, update -> run | |
- ./Gemfile:/mastodon/Gemfile | |
- ./Gemfile.lock:/mastodon/Gemfile.lock | |
- ./package.json:/mastodon/package.json | |
- ./yarn.lock:/mastodon/yarn.lock | |
- gems:/usr/local/bundle | |
- yarn:/usr/local/yarn # customized in Dockerfile | |
- node_modules:/mastodon/node_modules | |
tmpfs: | |
- /mastodon/tmp | |
streaming: | |
build: | |
context: . | |
dockerfile: Dockerfile.dev | |
restart: on-failure:1 | |
volumes: | |
- ./package.json:/mastodon/package.json | |
- node_modules:/mastodon/node_modules | |
- ./streaming:/mastodon/streaming | |
sidekiq: | |
build: | |
context: . | |
dockerfile: Dockerfile.dev | |
restart: "no" | |
volumes: | |
- ./app:/mastodon/app | |
- ./config:/mastodon/config | |
- ./lib:/mastodon/lib | |
- ./Gemfile:/mastodon/Gemfile | |
- ./Gemfile.lock:/mastodon/Gemfile.lock | |
- gems:/usr/local/bundle | |
tmpfs: | |
- /mastodon/tmp |
This file contains hidden or 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
FROM ruby:2.4.1-alpine | |
LABEL maintainer="https://github.com/tootsuite/mastodon" \ | |
description="A GNU Social-compatible microblogging server" | |
ENV UID=991 GID=991 \ | |
RAILS_SERVE_STATIC_FILES=true \ | |
RAILS_ENV=production NODE_ENV=production | |
ARG LIBICONV_VERSION=1.15 | |
ARG LIBICONV_DOWNLOAD_SHA256=ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178 | |
EXPOSE 3000 4000 | |
WORKDIR /mastodon | |
RUN echo "@edge https://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \ | |
&& echo "@edge https://nl.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \ | |
&& apk -U upgrade \ | |
&& apk add -t build-dependencies \ | |
build-base \ | |
icu-dev \ | |
libidn-dev \ | |
libtool \ | |
postgresql-dev \ | |
protobuf-dev \ | |
python \ | |
&& apk add \ | |
ca-certificates \ | |
ffmpeg \ | |
file \ | |
git \ | |
icu-libs \ | |
imagemagick@edge \ | |
libidn \ | |
libpq \ | |
nodejs-npm@edge \ | |
nodejs@edge \ | |
protobuf \ | |
su-exec \ | |
tini \ | |
yarn@edge \ | |
&& update-ca-certificates \ | |
&& wget -O libiconv.tar.gz "http://ftp.gnu.org/pub/gnu/libiconv/libiconv-$LIBICONV_VERSION.tar.gz" \ | |
&& echo "$LIBICONV_DOWNLOAD_SHA256 *libiconv.tar.gz" | sha256sum -c - \ | |
&& mkdir -p /tmp/src \ | |
&& tar -xzf libiconv.tar.gz -C /tmp/src \ | |
&& rm libiconv.tar.gz \ | |
&& cd /tmp/src/libiconv-$LIBICONV_VERSION \ | |
&& ./configure --prefix=/usr/local \ | |
&& make -j$(getconf _NPROCESSORS_ONLN)\ | |
&& make install \ | |
&& libtool --finish /usr/local/lib \ | |
&& cd /mastodon \ | |
&& rm -rf /tmp/* /var/cache/apk/* | |
# --- modification from here --- | |
ENV RAILS_ENV=development NODE_ENV=development | |
COPY self.crt /usr/local/share/ca-certificates/self.crt | |
RUN bundle config build.nokogiri --with-iconv-lib=/usr/local/lib --with-iconv-include=/usr/local/include \ | |
&& yarn config set ignore-optional true \ | |
&& yarn config set cache-folder /usr/local/yarn \ | |
&& bundle config without production \ | |
&& update-ca-certificates | |
#COPY Gemfile Gemfile.lock package.json yarn.lock /mastodon/ | |
#RUN bundle install --without production \ | |
# && yarn --ignore-optional --pure-lockfile | |
# COPY docker_entrypoint.sh /usr/local/bin/run | |
# RUN chmod +x /usr/local/bin/run | |
# ENTRYPOINT ["/usr/local/bin/run"] | |
COPY . /mastodon |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment