fix+feat(everything): lot of things
Some checks failed
Deploy to Development / build-and-deploy (push) Failing after 20s
Some checks failed
Deploy to Development / build-and-deploy (push) Failing after 20s
This commit is contained in:
@@ -1,15 +1,67 @@
|
||||
FROM node:18-alpine
|
||||
# Stage 1 : Build prod
|
||||
FROM node:20-alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy package files first for better caching
|
||||
COPY package*.json ./
|
||||
|
||||
# Install dependencies
|
||||
RUN npm ci
|
||||
|
||||
# Copy application files
|
||||
COPY . .
|
||||
|
||||
# Run the application in development mode
|
||||
CMD ["npm", "run", "dev"]
|
||||
ARG VITE_API_URL=https://api.lediscord.com
|
||||
ARG VITE_APP_URL=https://lediscord.com
|
||||
ARG VITE_UPLOAD_URL=https://api.lediscord.com/uploads
|
||||
|
||||
ENV VITE_API_URL=$VITE_API_URL
|
||||
ENV VITE_APP_URL=$VITE_APP_URL
|
||||
ENV VITE_UPLOAD_URL=$VITE_UPLOAD_URL
|
||||
|
||||
RUN npm run build
|
||||
|
||||
# Stage 2 : Image finale avec les deux modes
|
||||
FROM node:20-alpine
|
||||
|
||||
RUN apk add --no-cache nginx
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copier les sources pour le mode dev
|
||||
COPY package*.json ./
|
||||
RUN npm ci
|
||||
|
||||
COPY . .
|
||||
|
||||
# Copier le build prod
|
||||
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||
|
||||
# Config nginx
|
||||
RUN echo 'server { \
|
||||
listen 8080; \
|
||||
root /usr/share/nginx/html; \
|
||||
index index.html; \
|
||||
location / { \
|
||||
try_files $uri $uri/ /index.html; \
|
||||
} \
|
||||
location /assets { \
|
||||
expires 1y; \
|
||||
add_header Cache-Control "public, immutable"; \
|
||||
} \
|
||||
}' > /etc/nginx/conf.d/default.conf
|
||||
|
||||
# Script d'entrée
|
||||
COPY <<EOF /entrypoint.sh
|
||||
#!/bin/sh
|
||||
if [ "\$MODE" = "dev" ]; then
|
||||
echo "🔧 Mode DEVELOPPEMENT"
|
||||
exec npm run dev -- --host 0.0.0.0 --port 8080
|
||||
else
|
||||
echo "🚀 Mode PRODUCTION"
|
||||
exec nginx -g "daemon off;"
|
||||
fi
|
||||
EOF
|
||||
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["/entrypoint.sh"]
|
||||
Reference in New Issue
Block a user