Ruby And Nodejs In One Image
This Dockerfiles allows to create ruby image with nodejs support
Ruby And Nodejs In One
This Dockerfile allows to create ruby image with nodejs support if frontend is maintaned by rails as well. Old fasion approach.
FROM ruby:2.4.3-slim-stretch
RUN apt-get update -qq && apt-get install --no-install-recommends -y \
build-essential \
patch \
ruby-dev \
zlib1g-dev \
liblzma-dev \
libxml2 \
libxml2-dev \
libpq-dev \
default-libmysqlclient-dev \
imagemagick \
git \
wget \
gnupg2 \
curl \
nodejs-dev \
node-gyp \
libssl1.0-dev \
&& wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch"-pgdg main | tee /etc/apt/sources.list.d/pgdg.list \
&& apt-get update -qq && apt-get install --no-install-recommends --no-upgrade -y \
postgresql-client-11 \
&& rm -rf /var/lib/apt/lists/*
RUN curl -fsSLO --compressed "https://nodejs.org/dist/v8.17.0/node-v8.17.0-linux-x64.tar.xz" \
&& tar -xJf "node-v8.17.0-linux-x64.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
&& rm "node-v8.17.0-linux-x64.tar.xz" \
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
&& npm install -g yarn
WORKDIR /opt/app
COPY ./config/entrypoint.sh /usr/bin/entrypoint.sh
RUN gem install bundler -v 2.0.1
ADD Gemfile* /opt/app/
RUN bundle install
ARG RAILS_ENV
ARG ACTION_CABLE_URL
COPY . /opt/app
RUN yarn install --check-files
RUN RAILS_ENV=$RAILS_ENV bundle exec rake assets:precompile
EXPOSE 9292