mirror of
https://github.com/codex-storage/codex-marketplace-ui.git
synced 2025-02-23 05:08:33 +00:00
48 lines
932 B
Docker
48 lines
932 B
Docker
# Variables
|
|
ARG BUILDER=node:22-alpine
|
|
ARG IMAGE=nginx:1.27-alpine-slim
|
|
ARG APP_USER=root
|
|
ARG BUILD_HOME=/app
|
|
ARG BUILD_OUT=dist
|
|
ARG APP_HOME=${BUILD_HOME}
|
|
ARG APP_PORT=${APP_PORT:-80}
|
|
ARG NGINX_TEMPLATE=docker/default.conf.template
|
|
ARG VITE_CODEX_API_URL=${VITE_CODEX_API_URL:-http://127.0.0.1:8080}
|
|
ARG VITE_GEO_IP_URL=${VITE_GEO_IP_URL:-http://127.0.0.1:8080}
|
|
|
|
|
|
# Build
|
|
FROM ${BUILDER} AS builder
|
|
|
|
ARG APP_USER
|
|
ARG BUILD_HOME
|
|
ARG VITE_CODEX_API_URL
|
|
ARG VITE_GEO_IP_URL
|
|
|
|
WORKDIR ${BUILD_HOME}
|
|
COPY --chown=${APP_USER}:${APP_USER} . .
|
|
|
|
RUN npm install
|
|
RUN npm run build
|
|
|
|
|
|
# Create
|
|
FROM ${IMAGE}
|
|
|
|
ARG APP_USER
|
|
ARG BUILD_HOME
|
|
ARG BUILD_OUT
|
|
ARG APP_HOME
|
|
ARG APP_PORT
|
|
ARG NGINX_TEMPLATE
|
|
|
|
WORKDIR ${APP_HOME}
|
|
RUN mkdir /etc/nginx/templates
|
|
COPY ${NGINX_TEMPLATE} /etc/nginx/templates
|
|
COPY --chown=${APP_USER}:${APP_USER} --from=builder ${BUILD_HOME}/${BUILD_OUT} .
|
|
|
|
ENV APP_HOME=${APP_HOME}
|
|
ENV APP_PORT=${APP_PORT}
|
|
|
|
EXPOSE ${APP_PORT}
|