Skip to content

Commit e96d111

Browse files
committed
Move docker to alpine
1 parent 1042be2 commit e96d111

File tree

1 file changed

+18
-24
lines changed

1 file changed

+18
-24
lines changed

services/app/Dockerfile.codebattle

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,49 @@
1-
FROM node:18.15.0 AS assets-image
1+
FROM node:18.15.0-alpine AS assets-image
22
ENV MIX_ENV=prod
33

4-
WORKDIR /tmp
5-
6-
RUN mkdir -p codebattle/assets
7-
84
WORKDIR /tmp/codebattle/assets
95

10-
COPY apps/codebattle/package.json .
11-
COPY apps/codebattle/yarn.lock .
6+
COPY apps/codebattle/package.json apps/codebattle/yarn.lock ./
127

13-
RUN yarn install --froze-lockfile
8+
RUN yarn install --frozen-lockfile --network-timeout 300000
149

15-
COPY apps/codebattle/postcss.config.js .
16-
COPY apps/codebattle/.babelrc .
17-
COPY apps/codebattle/webpack ./webpack
18-
COPY apps/codebattle/assets ./assets
19-
COPY apps/codebattle/priv/gettext ./priv/gettext
10+
COPY apps/codebattle/postcss.config.js \
11+
apps/codebattle/.babelrc \
12+
apps/codebattle/webpack \
13+
apps/codebattle/assets \
14+
apps/codebattle/priv/gettext \
15+
./
2016

2117
RUN yarn build
2218

23-
FROM elixir:1.18 AS compile-image
19+
FROM elixir:1.18-alpine AS compile-image
2420
ARG GIT_HASH
2521

2622
ENV APP_VERSION=$GIT_HASH
2723
ENV MIX_ENV=prod
2824

2925
WORKDIR /opt/app
3026

31-
RUN mix local.hex --force \
27+
RUN apk add --no-cache build-base \
28+
&& mix local.hex --force \
3229
&& mix local.rebar --force
3330

34-
COPY mix.exs .
35-
COPY mix.lock .
31+
COPY mix.exs mix.lock ./
3632
COPY config ./config
3733
COPY apps/runner/mix.exs apps/runner/mix.exs
3834
COPY apps/phoenix_gon/mix.exs apps/phoenix_gon/mix.exs
3935
COPY apps/codebattle/mix.exs apps/codebattle/mix.exs
4036

41-
RUN mix do deps.get --only prod, compile
37+
RUN mix do deps.get --only prod, deps.compile
4238

4339
COPY ./apps/codebattle/ ./apps/codebattle/
4440
COPY ./apps/runner/ ./apps/runner/
4541
COPY ./apps/phoenix_gon/ ./apps/phoenix_gon/
4642

4743
COPY --from=assets-image /tmp/codebattle/assets/priv/static ./apps/codebattle/priv/static
4844

49-
RUN mix phx.digest
50-
51-
RUN mix release codebattle \
45+
RUN mix phx.digest \
46+
&& mix release codebattle \
5247
&& mv _build/prod/rel/codebattle /opt/release
5348

5449
FROM nginx:alpine AS nginx-assets
@@ -57,10 +52,9 @@ COPY nginx.conf /etc/nginx/conf.d/default.conf
5752

5853
COPY --from=compile-image /opt/release/lib/codebattle-0.1.0/priv/static/assets/ /var/www/assets
5954

60-
FROM elixir:1.18 AS runtime-image
55+
FROM elixir:1.18-alpine AS runtime-image
6156

62-
RUN apt-get update && apt-get install --no-install-recommends -y ca-certificates wkhtmltopdf git make curl vim \
63-
&& rm -rf /var/lib/apt/lists/*
57+
RUN apk add --no-cache ca-certificates wkhtmltopdf git make curl vim
6458

6559
ARG GIT_HASH
6660

0 commit comments

Comments
 (0)