Public Access
Template
Začetna predloga za Rails razvojno okolje v Dockerju
- 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>
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
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
|
||||
Reference in New Issue
Block a user