Adds dockerfile

This commit is contained in:
benbot 2023-10-27 03:30:29 -04:00
parent 657a4dfb6b
commit b8ecd1201e

View file

@ -25,17 +25,16 @@ RUN mix do deps.get, deps.compile
ENV NODE_ENV=production ENV NODE_ENV=production
# Use Node.js to install assets # Use Node.js to install assets
FROM node:14 AS node-build FROM node:20 AS node-build
WORKDIR /app/assets WORKDIR /app/assets
COPY assets/package.json assets/package-lock.json ./ COPY assets/package.json assets/pnpm-lock.yaml ./
RUN npm install RUN npm install -g pnpm
RUN pnpm install
COPY assets/ ./ COPY assets/ ./
RUN npm run deploy
# Switch back to our Elixir image to continue building # Switch back to our Elixir image to continue building
FROM build AS app-build FROM build AS app-build
WORKDIR /app WORKDIR /app
COPY --from=node-build /app/assets/build ./priv/static
RUN mix phx.digest RUN mix phx.digest
# Copy our application source code # Copy our application source code
@ -60,8 +59,8 @@ USER app
WORKDIR /home/app WORKDIR /home/app
# Copy over the build artifact from the previous step and create a symlink # Copy over the build artifact from the previous step and create a symlink
COPY --from=build --chown=app:app /app/_build/prod/rel/ezcontainer_railway ./ COPY --from=app-build --chown=app:app /app/_build/prod/rel/ezcontainer_railway ./
RUN ln -s /home/app/ezcontainer_railway/bin/ezcontainer_railway /home/app/bin RUN ln -s /home/app/_build/prod/rel/ezcontainer_railway/bin/ezcontainer_railway /home/app/bin/app
# Specify the entry point # Specify the entry point
ENTRYPOINT ["bin/my_app", "start"] ENTRYPOINT ["bin/app", "start"]