-
Notifications
You must be signed in to change notification settings - Fork 233
Expand file tree
/
Copy pathContainerfile.dev
More file actions
45 lines (35 loc) · 963 Bytes
/
Containerfile.dev
File metadata and controls
45 lines (35 loc) · 963 Bytes
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
34
35
36
37
38
39
40
41
42
43
44
45
FROM elixir:1.19-otp-28-alpine
# Install Elixir tooling
RUN mix local.hex --force \
&& mix local.rebar --force \
&& mix archive.install hex phx_new --force
# Install system dependencies + Node.js + npm + podman
RUN apk add --no-cache \
inotify-tools \
curl \
vim \
chromium \
postgresql-client \
build-base \
git \
nodejs \
npm \
podman
# Install pnpm globally
RUN npm install --global pnpm
# Base workdir
WORKDIR /app
ARG GIT_HASH
ENV APP_VERSION="$GIT_HASH" \
NODE_OPTIONS="--max-old-space-size=4096" \
PNPM_SKIP_BUILD_SCRIPT_CHECK=1
# Copy repo
COPY . .
# Go to Codebattle app where package.json is
WORKDIR /app/apps/codebattle
# Install JS dependencies for Codebattle
RUN pnpm install --force && pnpm add regenerator-runtime
# Build Codebattle assets (change to your real script if needed)
RUN pnpm run build
# Return to umbrella root for further Elixir steps (mix deps.get, etc., if you add them later)
WORKDIR /app