Merge branch 'master' into weeklyDaily
continuous-integration/drone/push Build is passing Details

pull/97/head^2
Baptiste MARCEL 1 year ago
commit 259e196162

@ -1,22 +1,32 @@
FROM node:14 # Utilisez l'image Node.js LTS comme base
FROM node:14-alpine
# Définissez le répertoire de travail dans le conteneur
WORKDIR /app WORKDIR /app
# Copiez le package.json et le package-lock.json dans le conteneur
COPY package*.json ./ COPY package*.json ./
# Installez les dépendances du projet
RUN npm install RUN npm install
# Copiez le reste des fichiers de l'application dans le conteneur
COPY . . COPY . .
# Construisez l'application React
RUN npm run build RUN npm run build
EXPOSE 80 # Utilisez l'image légère Nginx pour servir l'application construite
# FROM nginx:alpine
# Installez express
RUN npm install express # Copiez les fichiers construits de l'étape précédente dans le répertoire de travail de Nginx
COPY --from=0 /app/build /usr/share/nginx/html
# Copiez le script serveur personnalisé # Copiez la configuration Nginx personnalisée
COPY server.js . COPY nginx.conf /etc/nginx/conf.d/default.conf
# Exposez le port 80 pour que l'application puisse être accessible
EXPOSE 80
# Commande pour démarrer le serveur personnalisé # Définissez ENTRYPOINT pour démarrer Nginx lorsque le conteneur est lancé
CMD ["node", "server.js"] ENTRYPOINT ["nginx", "-g", "daemon off;"]

@ -0,0 +1,15 @@
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
error_page 404 /index.html;
location ~ /\. {
deny all;
}
}

@ -1,6 +1,7 @@
{ {
"name": "cryptide", "name": "cryptide",
"version": "1.0.0", "version": "1.0.0",
"homepage": "/containers/Crypteam-website/",
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.4.2", "@fortawesome/fontawesome-svg-core": "^6.4.2",
"@fortawesome/free-regular-svg-icons": "^6.4.2", "@fortawesome/free-regular-svg-icons": "^6.4.2",

@ -8,10 +8,16 @@ const port = process.env.PORT || 80;
app.use(express.static(path.join(__dirname, 'build'))); app.use(express.static(path.join(__dirname, 'build')));
// Définir le type MIME pour les fichiers JavaScript // Définir le type MIME pour les fichiers JavaScript
app.use('*.js', (req, res, next) => { app.use('/static/js', (req, res, next) => {
res.type('application/javascript; charset=utf-8'); res.type('application/javascript; charset=utf-8');
next(); next();
}); }, express.static(path.join(__dirname, 'build/static/js')));
// Définir le type MIME pour les fichiers CSS
app.use('/static/css', (req, res, next) => {
res.type('text/css; charset=utf-8');
next();
}, express.static(path.join(__dirname, 'build/static/css')));
// Route par défaut pour servir l'application React // Route par défaut pour servir l'application React
app.get('*', (req, res) => { app.get('*', (req, res) => {
@ -21,4 +27,5 @@ app.get('*', (req, res) => {
// Démarrer le serveur // Démarrer le serveur
app.listen(port, () => { app.listen(port, () => {
console.log(`Serveur en cours d'exécution sur le port ${port}`); console.log(`Serveur en cours d'exécution sur le port ${port}`);
console.log(path.join(__dirname, 'build'))
}); });

Loading…
Cancel
Save