FROM ruby:2.7

ENV BUILD_PACKAGES="apt-utils build-essential curl less nodejs sudo wget zsh libmariadb-dev libserialport-dev cron gr"

# throw errors if Gemfile has been modified since Gemfile.lock
RUN \
  bundle config --global frozen 1
 

WORKDIR /usr/src/app

COPY Gemfile Gemfile.lock ./

RUN \
  echo 'deb http://download.opensuse.org/repositories/science:/gr-framework/Debian_11/ /' | tee /etc/apt/sources.list.d/science:gr-framework.list && \
  curl -fsSL https://download.opensuse.org/repositories/science:gr-framework/Debian_11/Release.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/science_gr-framework.gpg > /dev/null && \
  apt-get update -qq && \
  apt-get install -y $BUILD_PACKAGES && \
  bundle install

COPY . .

# Set required variables for GR.rb
#  see https://github.com/red-data-tools/GR.rb
ENV GRDIR="/usr/gr"
ENV GKS_WSTYPE=100

CMD ["/bin/bash -c ruby ./smartmeter.rb"]
