FROM ruby:4.0.9-slim

# Geme namešča v GEM_HOME slike (/usr/local/bundle), kjer je tudi volume "bundle"
ENV BUNDLE_JOBS=4 \
    BUNDLE_RETRY=3

# Glavna različica PostgreSQL; mora se ujemati s strežnikom (nastavi jo docker-compose.yml)
ARG PG_MAJOR=18

# Uradni repozitorij PostgreSQL (PGDG), da je klient iste različice kot strežnik
RUN apt-get update -y && apt-get install -y --no-install-recommends \
  ca-certificates \
  curl \
  && install -d /usr/share/postgresql-common/pgdg \
  && curl -fsSL -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc \
    https://www.postgresql.org/media/keys/ACCC4CF8.asc \
  && . /etc/os-release \
  && echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt ${VERSION_CODENAME}-pgdg main" \
    > /etc/apt/sources.list.d/pgdg.list \
  && apt-get update -y && apt-get install -y --no-install-recommends \
  build-essential \
  git \
  libpq-dev \
  libyaml-dev \
  pkg-config \
  postgresql-client-${PG_MAJOR} \
  && rm -rf /var/lib/apt/lists/*

# Uporabnik app mora imeti pravico pisanja v mapo z gemi
RUN useradd -u 1000 -m app \
  && chown -R app:app /usr/local/bundle

WORKDIR /app
RUN chown app:app /app

USER app

# Odkomentiraj, ko bo obstajal Gemfile (po rails new)
#COPY --chown=app:app Gemfile Gemfile.lock ./
#RUN bundle install

COPY --chown=app:app . .

EXPOSE 3000
