FROM docker.io/library/ruby:3.2-slim
#NOTE: this file must be built from the parent (../) directory
# look at the
#   rebuild-docker.sh
# script as kind of manual on how the drb_counter cointainer is managed and used


# throw errors if Gemfile has been modified since Gemfile.lock
#RUN bundle config --global frozen 1
RUN apt update
RUN apt install -y curl
RUN gem install bundler:1.17.3

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

# Test
#RUN apt-get update && apt-get install -y qt5-default libqt5webkit5-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
# Standard
#RUN apt-get update && apt-get install -y nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/*
#RUN apt-get update && apt-get install -y mysql-client postgresql-client sqlite3 --no-install-recommends && rm -rf /var/lib/apt/lists/*
# Specific
#RUN apt-get update && apt-get install -y dos2unix --no-install-recommends && rm -rf /var/lib/apt/lists/*

COPY drb_counter/Gemfile /usr/src/app/
#COPY drb_counter/Gemfile.lock /usr/src/app/
#COPY  vendor/cache /usr/src/app/vendor/cache
#RUN bundle install --local
#RUN rm -rf /usr/src/app/.bundle
RUN bundle install

# COPY THE WHOLE DIRECTORY LATER THAN GEMFILE TO AVOID bundle install step on code change
COPY drb_counter /usr/src/app
RUN mkdir -p config
COPY config/couchdb.yml /usr/src/app/config/couchdb.yml

EXPOSE 9022
CMD ["ruby", "drb_counter.rb"]
