diff --git a/Dockerfile b/Dockerfile index e1463fa..1158b92 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,9 @@ FROM node:16-alpine +ARG MODE=production + +ENV NODE_ENV=$MODE + WORKDIR /app COPY package*.json ./ diff --git a/README.md b/README.md index 4544ffd..fedc66e 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ npm i Puis, on lance le serveur : ```sh -npm start +npm run start:dev ``` ### Avec Docker @@ -27,15 +27,41 @@ npm start Un Dockerfile est disponible pour pouvoir démarrer le site en local sans `npm`. ```sh -docker build -t sutom . +docker build --build-arg MODE=development -t sutom . -docker run -it --rm -p 4000:4000 sutom +docker run -it --rm -p 4000:4000 sutom npm run start:dev ``` ### Accès au site Une fois démarré, le site sera dispo sur http://localhost:4000 et le typescript va se recompiler tout seul à chaque modification de fichier. +## Déployer en production + +### Avec npm + +Pour déployer en production, on installe les dépendances : + +```sh +npm install --production +``` + +Puis on lance le serveur : + +```sh +npm start +``` + +### Avec Docker + +On lance Docker en production en créant l'image et en la lançant sans les options particulières pour le mode "development" : + +```sh +docker build -t sutom . + +docker run -it --rm -p 4000:4000 sutom +``` + ## Autres infos et remerciements - Le dictionnaire utilisé est celui de [Grammalecte](https://grammalecte.net/dictionary.php?prj=fr). Merci à GaranceAmarante pour le script. diff --git a/package.json b/package.json index 8c6d701..15aa8b2 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "start": "tsc && node js/server.js & tsc-watch" + "start": "tsc && node js/server.js", + "start:dev": "tsc && node js/server.js & tsc-watch" }, "keywords": [ "wordle",