mirror of
https://github.com/LukeHagar/website.git
synced 2025-12-06 12:57:48 +00:00
chore: update dockerfile
This commit is contained in:
@@ -1,5 +1,3 @@
|
|||||||
node_modules
|
|
||||||
.git
|
.git
|
||||||
.gitignore
|
.gitignore
|
||||||
*.md
|
*.md
|
||||||
dist
|
|
||||||
23
Dockerfile
23
Dockerfile
@@ -3,28 +3,13 @@ FROM node:20-slim AS build
|
|||||||
ENV PNPM_HOME="/pnpm"
|
ENV PNPM_HOME="/pnpm"
|
||||||
ENV PATH="$PNPM_HOME:$PATH"
|
ENV PATH="$PNPM_HOME:$PATH"
|
||||||
|
|
||||||
RUN corepack enable
|
|
||||||
COPY . /app
|
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
COPY . .
|
||||||
|
|
||||||
# RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
|
RUN corepack enable
|
||||||
# RUN pnpm run build
|
|
||||||
|
|
||||||
FROM base AS prod-deps
|
|
||||||
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
|
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
|
RUN pnpm run build
|
||||||
|
|
||||||
FROM base
|
EXPOSE 3000
|
||||||
COPY --from=prod-deps /app/node_modules /app/node_modules
|
|
||||||
COPY --from=build /app/dist /app/dist
|
|
||||||
|
|
||||||
# FROM caddy:alpine as serve
|
CMD [ "node", "build/index.js"]
|
||||||
# COPY --from=build /app/dist /app/dist
|
|
||||||
|
|
||||||
# EXPOSE 80
|
|
||||||
|
|
||||||
# CMD [ "caddy", "file-server", "--root /app/dist"]
|
|
||||||
@@ -14,7 +14,7 @@ services:
|
|||||||
- --entrypoints.websecure.address=:443
|
- --entrypoints.websecure.address=:443
|
||||||
- --entrypoints.web.http.redirections.entrypoint.to=websecure
|
- --entrypoints.web.http.redirections.entrypoint.to=websecure
|
||||||
- --entrypoints.web.http.redirections.entrypoint.scheme=https
|
- --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=true
|
||||||
- --certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web
|
- --certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web
|
||||||
- --certificatesresolvers.myresolver.acme.email=$_APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
- --certificatesresolvers.myresolver.acme.email=$_APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
||||||
@@ -29,7 +29,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- homepage
|
- homepage
|
||||||
|
|
||||||
appwrite:
|
homepage:
|
||||||
image: homepage-dev
|
image: homepage-dev
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
@@ -37,18 +37,18 @@ services:
|
|||||||
- homepage
|
- homepage
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
- traefik.constraint-label-stack=appwrite
|
- traefik.constraint-label-stack=homepage
|
||||||
- traefik.http.services.appwrite_api.loadbalancer.server.port=80
|
- traefik.http.services.homepage.loadbalancer.server.port=3000
|
||||||
#http
|
#http
|
||||||
- traefik.http.routers.appwrite.entrypoints=web
|
- traefik.http.routers.homepage.entrypoints=web
|
||||||
- traefik.http.routers.appwrite.rule=Host(`$_APP_DOMAIN`) || Host(`www.$_APP_DOMAIN`)
|
- traefik.http.routers.homepage.rule=Host(`$_APP_DOMAIN`) || Host(`www.$_APP_DOMAIN`)
|
||||||
- traefik.http.routers.appwrite.service=appwrite_api
|
- traefik.http.routers.homepage.service=homepage
|
||||||
# https
|
# https
|
||||||
- traefik.http.routers.appwrite_secure.entrypoints=websecure
|
- traefik.http.routers.homepage_secure.entrypoints=websecure
|
||||||
- traefik.http.routers.appwrite_secure.rule=Host(`$_APP_DOMAIN`) || Host(`www.$_APP_DOMAIN`)
|
- traefik.http.routers.homepage_secure.rule=Host(`$_APP_DOMAIN`) || Host(`www.$_APP_DOMAIN`)
|
||||||
- traefik.http.routers.appwrite_secure.service=appwrite_api
|
- traefik.http.routers.homepage_secure.service=homepage
|
||||||
- traefik.http.routers.appwrite_secure.tls=true
|
- traefik.http.routers.homepage_secure.tls=true
|
||||||
- traefik.http.routers.appwrite_secure.tls.certresolver=myresolver
|
- traefik.http.routers.homepage_secure.tls.certresolver=myresolver
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
homepage:
|
homepage:
|
||||||
Reference in New Issue
Block a user