forked from o19s/quepid
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.dev
More file actions
33 lines (27 loc) · 1.17 KB
/
Dockerfile.dev
File metadata and controls
33 lines (27 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
FROM ruby:3.4.8-bookworm
LABEL maintainer="quepid_admin@opensourceconnections.com"
# Set environment variables
ENV home=.
ENV NODE_ENV=development
# Install all system dependencies first to leverage Docker caching
RUN apt-get update -qq && \
apt-get install -y --no-install-recommends \
curl wget netcat-traditional graphviz chromium \
ca-certificates gnupg && \
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
NODE_MAJOR=22 && \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
apt-get update -qq && \
apt-get install --no-install-recommends -y nodejs && \
npm install --global yarn && \
apt-get clean all && \
rm -rf /var/lib/apt/lists/*
# Set up the working directory
WORKDIR /srv/app
# Install Ruby gems (these can be cached separately from system dependencies)
COPY Gemfile* ./
RUN gem install foreman && \
gem install bundler:2.7.2 && \
bundle install
# Application code will be mounted at runtime