jam-cloud/Dockerfile

78 lines
2.3 KiB
Docker

FROM ubuntu:18.04
#ARG DEBIAN_FRONTEND=noninteractive
# Install essential Linux packages
RUN apt-get update -qq && apt-get install -y build-essential git curl wget g++ libreadline6-dev libreadline-dev zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config libffi-dev liblzma-dev zlib1g-dev libgmp-dev libgmp3-dev libpq-dev postgresql-client openssl libxml2-dev libxslt-dev nodejs protobuf-compiler protobuf-c-compiler shared-mime-info
#Install nodejs
# RUN curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
# RUN apt-get install -y nodejs
#Install ruby
RUN wget -O ruby-install-0.8.3.tar.gz https://github.com/postmodern/ruby-install/archive/v0.8.3.tar.gz \
&& tar -xzvf ruby-install-0.8.3.tar.gz \
&& cd ruby-install-0.8.3/ \
&& make install
RUN ruby-install --system ruby 2.4.1
# installs a old version of protocol buffers. hard to build these days.
RUN curl https://jamjam:blueberryjam@int.jamkazam.com/stuff/protobuf-2.4.1.tgz -o /tmp/protobuf-2.4.1.tgz && \
cd /tmp && \
tar -xvzf protobuf-2.4.1.tgz && \
cp protobuf-2.4.1/usr/lib/* /usr/lib/ && \
cp protobuf-2.4.1/usr/bin/protoc /usr/bin/protoc
#setup app
ARG RAILS_ENV
ARG RACK_ENV
ARG BUNDLER_VERSION
ARG AWS_KEY
ARG AWS_SECRET
ARG POSTGRES_USER
ARG POSTGRES_PASSWORD
ARG POSTGRES_DB
ARG INIT_BUILD=0
ARG LOCAL_DEV
#ARG GEM_PATH
#ARG GEM_HOME
ENV RAILS_ENV $RAILS_ENV
ENV RACK_ENV $RACK_ENV
ENV BUNDLER_VERSION $BUNDLER_VERSION
ENV POSTGRES_USER $POSTGRES_USER
ENV POSTGRES_PASSWORD $POSTGRES_PASSWORD
ENV POSTGRES_DB $POSTGRES_DB
ENV AWS_KEY ${AWS_SECRET}
ENV AWS_SECRET ${AWS_SECRET}
ENV INIT_BUILD ${INIT_BUILD}
ENV LOCAL_DEV ${LOCAL_DEV}
#ENV GEM_PATH ${GEM_PATH}
#ENV GEM_HOME ${GEM_HOME}
ENV APP_ROOT /app
# install our old version of bundler
RUN gem install bundler -v '1.17.3'
# get a latest bundler installed too
RUN gem install bundler -v '2.1.4'
# Set our working directory inside the image
WORKDIR $APP_ROOT
# Copy the application into place
COPY . ./
# Set bundle config
RUN bundle config build.nokogiri --use-system-libraries
RUN bundle config int.jamkazam.com jamjam:blueberryjam
RUN echo 'export AWS_KEY="${AWS_KEY}"' >> ~/.bashrc
RUN echo 'export AWS_SECRET="${AWS_SECRET}"' >> ~/.bashrc
#ENTRYPOINT ["./entrypoint.sh"]
CMD [ "./setup.sh" ]