parent
57294ffeff
commit
d5fecb0044
@ -0,0 +1,16 @@ |
||||
server { |
||||
|
||||
listen 80; |
||||
|
||||
location / { |
||||
root /usr/share/nginx/html; |
||||
index index.html index.htm; |
||||
try_files $uri /index.html =404; |
||||
} |
||||
|
||||
error_page 500 502 503 504 /50x.html; |
||||
|
||||
location = /50x.html { |
||||
root /usr/share/nginx/html; |
||||
} |
||||
} |
@ -0,0 +1,58 @@ |
||||
# syntax=docker/dockerfile:1.4 |
||||
|
||||
# 1. For build React app |
||||
FROM node:lts AS development |
||||
|
||||
# Set working directory |
||||
WORKDIR /app |
||||
|
||||
# |
||||
COPY package.json /app/package.json |
||||
COPY package-lock.json /app/package-lock.json |
||||
|
||||
# Same as npm install |
||||
RUN npm ci |
||||
|
||||
COPY . /app |
||||
|
||||
ENV CI=true |
||||
ENV PORT=3003 |
||||
|
||||
CMD [ "npm", "start" ] |
||||
|
||||
FROM development AS build |
||||
|
||||
RUN npm run build |
||||
|
||||
|
||||
FROM development as dev-envs |
||||
RUN <<EOF |
||||
apt-get update |
||||
apt-get install -y --no-install-recommends git |
||||
EOF |
||||
|
||||
RUN <<EOF |
||||
useradd -s /bin/bash -m vscode |
||||
groupadd docker |
||||
usermod -aG docker vscode |
||||
EOF |
||||
# install Docker tools (cli, buildx, compose) |
||||
COPY --from=gloursdocker/docker / / |
||||
CMD [ "npm", "start" ] |
||||
|
||||
# 2. For Nginx setup |
||||
FROM nginx:alpine |
||||
|
||||
# Copy config nginx |
||||
COPY --from=build /app/.nginx/nginx.conf /etc/nginx/conf.d/default.conf |
||||
|
||||
WORKDIR /usr/share/nginx/html |
||||
|
||||
# Remove default nginx static assets |
||||
RUN rm -rf ./* |
||||
|
||||
# Copy static assets from builder stage |
||||
COPY --from=build /app/build . |
||||
|
||||
# Containers run nginx with global directives and daemon off |
||||
ENTRYPOINT ["nginx", "-g", "daemon off;"] |
@ -0,0 +1,7 @@ |
||||
services: |
||||
frontend: |
||||
build: |
||||
context: . |
||||
container_name: frontend |
||||
ports: |
||||
- "3003:3003" |
Loading…
Reference in new issue