Introduce Dockerfile

This commit is contained in:
2024-02-18 16:17:54 +01:00
parent 2b29a8e4b2
commit 4d07719066
6 changed files with 54 additions and 14 deletions
+16
View File
@@ -0,0 +1,16 @@
# Developement
.git
.prettierrc
.gitignore
README.md
# Node
node_modules
npm-debug.log
# Build
build
# Docker
Dockerfile
.dockerignore
+23
View File
@@ -0,0 +1,23 @@
# Build stage
FROM node:lts-alpine as build
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# Final stage
FROM node:lts-alpine as final
EXPOSE 3000
WORKDIR /usr/src/app
COPY --from=build /usr/src/app/build .
RUN npm i -g serve
CMD serve
+14 -2
View File
@@ -1,3 +1,15 @@
# Démineur # Minesweeper
:) ## Docker
- Build the image
```bash
docker build -t minesweeper .
```
- Run the container
```bash
docker run --name minesweeper -dp 3000:3000 minesweeper
```
-10
View File
@@ -8,7 +8,6 @@
"name": "demineur", "name": "demineur",
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"@types/localforage": "^0.0.34",
"@types/node": "^20.11.16", "@types/node": "^20.11.16",
"@types/react": "^18.2.53", "@types/react": "^18.2.53",
"@types/react-dom": "^18.2.18", "@types/react-dom": "^18.2.18",
@@ -4159,15 +4158,6 @@
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ=="
}, },
"node_modules/@types/localforage": {
"version": "0.0.34",
"resolved": "https://registry.npmjs.org/@types/localforage/-/localforage-0.0.34.tgz",
"integrity": "sha512-tJxahnjm9dEI1X+hQSC5f2BSd/coZaqbIl1m3TCl0q9SVuC52XcXfV0XmoCU1+PmjyucuVITwoTnN8OlTbEXXA==",
"deprecated": "This is a stub types definition for localforage (https://github.com/localForage/localForage). localforage provides its own type definitions, so you don't need @types/localforage installed!",
"dependencies": {
"localforage": "*"
}
},
"node_modules/@types/mime": { "node_modules/@types/mime": {
"version": "1.3.5", "version": "1.3.5",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
-1
View File
@@ -11,7 +11,6 @@
"eject": "react-scripts eject" "eject": "react-scripts eject"
}, },
"dependencies": { "dependencies": {
"@types/localforage": "^0.0.34",
"@types/node": "^20.11.16", "@types/node": "^20.11.16",
"@types/react": "^18.2.53", "@types/react": "^18.2.53",
"@types/react-dom": "^18.2.18", "@types/react-dom": "^18.2.18",
+1 -1
View File
@@ -14,7 +14,7 @@ import { atom } from 'recoil';
export const gameStateAtom = atom({ export const gameStateAtom = atom({
key: 'gameState', key: 'gameState',
default: { default: {
status: 'board', status: 'settings',
difficulty: 'beginner', difficulty: 'beginner',
gridSize: 12, gridSize: 12,
bombs: 0, bombs: 0,