commit
085359df8b
3 changed files with 78 additions and 0 deletions
@ -0,0 +1,18 @@ |
|||||
|
FROM node:18-alpine |
||||
|
RUN apk add --no-cache git |
||||
|
|
||||
|
# Clone the public backend repo into /app |
||||
|
RUN git clone https://sinistea.pkmn.cloud/Quildra/OriginDex-API.git /app |
||||
|
|
||||
|
WORKDIR /app |
||||
|
|
||||
|
# Install dependencies |
||||
|
RUN npm install |
||||
|
|
||||
|
RUN npm run build |
||||
|
|
||||
|
# Expose port 5000 |
||||
|
EXPOSE 5000 |
||||
|
|
||||
|
# Start your Express API (assuming app.js is your entry file) |
||||
|
CMD ["npm", "run", "start"] |
||||
@ -0,0 +1,38 @@ |
|||||
|
# |
||||
|
# Stage 1: Clone and build the Angular app |
||||
|
# |
||||
|
FROM node:18-alpine AS build |
||||
|
RUN apk add --no-cache git |
||||
|
|
||||
|
# Introduce a "cache bust" ARG |
||||
|
ARG CACHEBUST=7 |
||||
|
|
||||
|
# Some command you always want to re-run |
||||
|
RUN echo "This step should be re-run every time: $CACHEBUST" |
||||
|
|
||||
|
# Clone the public frontend repo into /app |
||||
|
RUN git clone https://sinistea.pkmn.cloud/Quildra/OriginDex-FrontEnd.git /app |
||||
|
|
||||
|
WORKDIR /app |
||||
|
|
||||
|
# Install dependencies |
||||
|
RUN npm install |
||||
|
|
||||
|
# Build the Angular app in production mode |
||||
|
# If you're on Angular 14+, you might need: npm run build --configuration production |
||||
|
RUN npm run build_prod |
||||
|
|
||||
|
# |
||||
|
# Stage 2: Serve the built Angular app with Nginx |
||||
|
# |
||||
|
FROM nginx:alpine |
||||
|
|
||||
|
# Copy the Angular build output into Nginx's html folder |
||||
|
# Adjust the dist folder name if your Angular project is named differently |
||||
|
COPY --from=build /app/dist/origin-dex/browser /usr/share/nginx/html |
||||
|
|
||||
|
# Expose port 80 inside the container |
||||
|
EXPOSE 80 |
||||
|
|
||||
|
# Run Nginx in the foreground |
||||
|
CMD ["nginx", "-g", "daemon off;"] |
||||
@ -0,0 +1,22 @@ |
|||||
|
version: "3.8" |
||||
|
|
||||
|
services: |
||||
|
frontend: |
||||
|
build: |
||||
|
context: . |
||||
|
dockerfile: fockerfile.frontend |
||||
|
container_name: origindex-frontend |
||||
|
# The Angular container runs Nginx on port 80 internally. |
||||
|
# If you want to access it directly (bypassing Traefik), map it to, say, 8080: |
||||
|
ports: |
||||
|
- "493:80" |
||||
|
|
||||
|
backend: |
||||
|
build: |
||||
|
context: . |
||||
|
dockerfile: Dockerfile.backend |
||||
|
container_name: origindex-backend |
||||
|
# The Express container listens on port 3000 internally. |
||||
|
# Map it to 3000 on the host if you want direct access (bypassing Traefik). |
||||
|
ports: |
||||
|
- "151:5000" |
||||
Loading…
Reference in new issue