aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeonardo Bishop <me@leonardobishop.com>2023-08-08 00:22:36 +0100
committerLeonardo Bishop <me@leonardobishop.com>2023-08-08 00:22:36 +0100
commit84cea12bd2e647f449b9133e6dcaf5312b92f321 (patch)
tree873a0d86e416780ff7474467bf899cb5f385959e
parenta3f8976b38b37ecf0f61275de37ee7f241e3ad6f (diff)
Update dockerfile
-rw-r--r--.dockerignore7
-rw-r--r--Dockerfile24
-rw-r--r--docker-compose.yml5
3 files changed, 30 insertions, 6 deletions
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..912e1a2
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,7 @@
+node_modules
+.git
+.env
+build
+pages
+static
+views
diff --git a/Dockerfile b/Dockerfile
index 6ccd424..74ba404 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,17 +1,29 @@
-FROM node:alpine
+FROM node:alpine AS build
+
+WORKDIR /app
-WORKDIR /srv/node/app
+COPY --chown=node:node package*.json ./
-COPY package*.json ./
+COPY --chown=node:node tsconfig.json ./
RUN npm i -g typescript\
- && npm ci --only=production
+ && npm i
-COPY . .
+COPY --chown=node:node app app
RUN tsc
-COPY --chown=node:node . .
+
+
+FROM node:alpine
+
+WORKDIR /app
+
+COPY --chown=node:node package*.json ./
+
+RUN npm i --production
+
+COPY --chown=node:node --from=build /app/build build
EXPOSE 3000
diff --git a/docker-compose.yml b/docker-compose.yml
index 2444c60..9572132 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -5,5 +5,10 @@ services:
dockerfile: Dockerfile
ports:
- "3000:3000"
+ volumes:
+ - .env:/app/.env:ro
+ - ./pages:/app/pages:ro
+ - ./static:/app/static:ro
+ - ./views:/app/views:ro
restart: unless-stopped