diff options
| -rw-r--r-- | .dockerignore | 7 | ||||
| -rw-r--r-- | Dockerfile | 24 | ||||
| -rw-r--r-- | docker-compose.yml | 5 |
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 @@ -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 |
