Public Access
Template
- Dockerfile na osnovi ruby:4.0.9-slim z razvojnimi orodji in klientom PostgreSQL iz repozitorija PGDG - docker-compose.yml s servisoma app (Rails) in db (PostgreSQL) - .env.example, .dockerignore in .gitignore - README z opisom sklada in navodili za nov projekt Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
45 lines
1.4 KiB
Docker
45 lines
1.4 KiB
Docker
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
|