chore: update dockerfile

This commit is contained in:
Christy Jacob
2023-09-26 18:52:36 +00:00
parent d2e3df9fde
commit 6244bb210f
3 changed files with 17 additions and 34 deletions

View File

@@ -1,5 +1,3 @@
node_modules
.git
.gitignore
*.md
dist
*.md

View File

@@ -3,28 +3,13 @@ FROM node:20-slim AS build
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
COPY . /app
WORKDIR /app
COPY . .
# RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
# RUN pnpm run build
FROM base AS prod-deps
RUN corepack enable
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
FROM base AS build
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
RUN pnpm run build
FROM base
COPY --from=prod-deps /app/node_modules /app/node_modules
COPY --from=build /app/dist /app/dist
EXPOSE 3000
# FROM caddy:alpine as serve
# COPY --from=build /app/dist /app/dist
# EXPOSE 80
# CMD [ "caddy", "file-server", "--root /app/dist"]
CMD [ "node", "build/index.js"]

View File

@@ -14,7 +14,7 @@ services:
- --entrypoints.websecure.address=:443
- --entrypoints.web.http.redirections.entrypoint.to=websecure
- --entrypoints.web.http.redirections.entrypoint.scheme=https
- --providers.docker.constraints=Label(`traefik.constraint-label-stack`,`appwrite`)
- --providers.docker.constraints=Label(`traefik.constraint-label-stack`,`homepage`)
- --certificatesresolvers.myresolver.acme.httpchallenge=true
- --certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web
- --certificatesresolvers.myresolver.acme.email=$_APP_SYSTEM_SECURITY_EMAIL_ADDRESS
@@ -29,7 +29,7 @@ services:
networks:
- homepage
appwrite:
homepage:
image: homepage-dev
build:
context: .
@@ -37,18 +37,18 @@ services:
- homepage
labels:
- traefik.enable=true
- traefik.constraint-label-stack=appwrite
- traefik.http.services.appwrite_api.loadbalancer.server.port=80
- traefik.constraint-label-stack=homepage
- traefik.http.services.homepage.loadbalancer.server.port=3000
#http
- traefik.http.routers.appwrite.entrypoints=web
- traefik.http.routers.appwrite.rule=Host(`$_APP_DOMAIN`) || Host(`www.$_APP_DOMAIN`)
- traefik.http.routers.appwrite.service=appwrite_api
- traefik.http.routers.homepage.entrypoints=web
- traefik.http.routers.homepage.rule=Host(`$_APP_DOMAIN`) || Host(`www.$_APP_DOMAIN`)
- traefik.http.routers.homepage.service=homepage
# https
- traefik.http.routers.appwrite_secure.entrypoints=websecure
- traefik.http.routers.appwrite_secure.rule=Host(`$_APP_DOMAIN`) || Host(`www.$_APP_DOMAIN`)
- traefik.http.routers.appwrite_secure.service=appwrite_api
- traefik.http.routers.appwrite_secure.tls=true
- traefik.http.routers.appwrite_secure.tls.certresolver=myresolver
- traefik.http.routers.homepage_secure.entrypoints=websecure
- traefik.http.routers.homepage_secure.rule=Host(`$_APP_DOMAIN`) || Host(`www.$_APP_DOMAIN`)
- traefik.http.routers.homepage_secure.service=homepage
- traefik.http.routers.homepage_secure.tls=true
- traefik.http.routers.homepage_secure.tls.certresolver=myresolver
networks:
homepage: