Compare commits
3 Commits
d13b16c032
..
v1.1.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
debfcf7226
|
|||
|
15bbc27238
|
|||
|
16bd44c599
|
+19
-9
@@ -1,6 +1,6 @@
|
||||
# base
|
||||
# ----
|
||||
FROM node:20-bookworm-slim as base
|
||||
FROM node:20-bookworm-slim AS base
|
||||
|
||||
RUN corepack enable
|
||||
|
||||
@@ -32,7 +32,7 @@ COPY --chown=node:node graphql.config.js .
|
||||
|
||||
# api build
|
||||
# ---------
|
||||
FROM base as api_build
|
||||
FROM base AS api_build
|
||||
|
||||
# If your api side build relies on build-time environment variables,
|
||||
# specify them here as ARGs. (But don't put secrets in your Dockerfile!)
|
||||
@@ -51,13 +51,14 @@ ARG EMAIL_FROM
|
||||
ARG EMAIL_TO
|
||||
ARG FIRST_NAME
|
||||
ARG LAST_NAME
|
||||
ARG APP_VERSION
|
||||
|
||||
COPY --chown=node:node api api
|
||||
RUN yarn rw build api
|
||||
|
||||
# web prerender build
|
||||
# -------------------
|
||||
FROM api_build as web_build_with_prerender
|
||||
FROM api_build AS web_build_with_prerender
|
||||
|
||||
ARG FIRST_NAME
|
||||
ARG LAST_NAME
|
||||
@@ -69,12 +70,14 @@ ARG API_ADDRESS_PROD
|
||||
ARG API_ADDRESS_DEV
|
||||
ARG APP_VERSION
|
||||
|
||||
ENV APP_VERSION=$APP_VERSION
|
||||
|
||||
COPY --chown=node:node web web
|
||||
RUN yarn rw build web
|
||||
|
||||
# web build
|
||||
# ---------
|
||||
FROM base as web_build
|
||||
FROM base AS web_build
|
||||
|
||||
ARG FIRST_NAME
|
||||
ARG LAST_NAME
|
||||
@@ -86,12 +89,14 @@ ARG API_ADDRESS_PROD
|
||||
ARG API_ADDRESS_DEV
|
||||
ARG APP_VERSION
|
||||
|
||||
ENV APP_VERSION=$APP_VERSION
|
||||
|
||||
COPY --chown=node:node web web
|
||||
RUN yarn rw build web --no-prerender
|
||||
|
||||
# api serve
|
||||
# ---------
|
||||
FROM node:20-bookworm-slim as api_serve
|
||||
FROM node:20-bookworm-slim AS api_serve
|
||||
|
||||
RUN corepack enable
|
||||
|
||||
@@ -121,7 +126,10 @@ COPY --chown=node:node --from=api_build /home/node/app/api/dist /home/node/app/a
|
||||
COPY --chown=node:node --from=api_build /home/node/app/api/db /home/node/app/api/db
|
||||
COPY --chown=node:node --from=api_build /home/node/app/node_modules/.prisma /home/node/app/node_modules/.prisma
|
||||
|
||||
ARG APP_VERSION
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV APP_VERSION=$APP_VERSION
|
||||
|
||||
# default api serve command
|
||||
# ---------
|
||||
@@ -134,7 +142,7 @@ CMD [ "./api/dist/server.js" ]
|
||||
|
||||
# web serve
|
||||
# ---------
|
||||
FROM node:20-bookworm-slim as web_serve
|
||||
FROM node:20-bookworm-slim AS web_serve
|
||||
|
||||
RUN corepack enable
|
||||
|
||||
@@ -158,16 +166,18 @@ COPY --chown=node:node graphql.config.js .
|
||||
|
||||
COPY --chown=node:node --from=web_build /home/node/app/web/dist /home/node/app/web/dist
|
||||
|
||||
ARG APP_VERSION
|
||||
ENV APP_VERSION=$APP_VERSION
|
||||
|
||||
ENV NODE_ENV=production \
|
||||
API_PROXY_TARGET=http://api:8911 \
|
||||
APP_VERSION=${APP_VERSION}
|
||||
API_PROXY_TARGET=http://api:8911
|
||||
|
||||
# We use the shell form here for variable expansion.
|
||||
CMD "node_modules/.bin/rw-web-server" "--api-proxy-target" "$API_PROXY_TARGET"
|
||||
|
||||
# console
|
||||
# -------
|
||||
FROM base as console
|
||||
FROM base AS console
|
||||
|
||||
# To add more packages:
|
||||
#
|
||||
|
||||
@@ -28,6 +28,8 @@ enum Theme {
|
||||
'Invalid DEFAULT_THEME environment variable, please select either light or dark'
|
||||
)
|
||||
|
||||
logger.info(`Portfolio ${process.env.APP_VERSION}`)
|
||||
|
||||
const server = await createServer({
|
||||
logger,
|
||||
configureApiServer: async (server) => {
|
||||
|
||||
@@ -65,23 +65,30 @@ const HomePage = () => (
|
||||
</div>
|
||||
</div>
|
||||
<div className="fixed bottom-2 left-2 z-10">
|
||||
<div
|
||||
className="tooltip tooltip-right"
|
||||
data-tip={process.env.APP_VERSION || ''}
|
||||
>
|
||||
{process.env.APP_VERSION !== undefined ? (
|
||||
<div
|
||||
className="tooltip tooltip-right"
|
||||
data-tip={process.env.APP_VERSION}
|
||||
>
|
||||
<a
|
||||
href={`https://git.altaiar.dev/ahmed/portfolio/releases/tag/${process.env.APP_VERSION}`}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="btn btn-square"
|
||||
>
|
||||
{getLogoComponent('github')}
|
||||
</a>
|
||||
</div>
|
||||
) : (
|
||||
<a
|
||||
href={
|
||||
process.env.APP_VERSION.length > 0
|
||||
? `https://git.altaiar.dev/ahmed/portfolio/releases/tag/${process.env.APP_VERSION}`
|
||||
: 'https://git.altaiar.dev/ahmed/portfolio'
|
||||
}
|
||||
href={'https://git.altaiar.dev/ahmed/portfolio'}
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className="btn btn-square"
|
||||
>
|
||||
{getLogoComponent('gitea')}
|
||||
</a>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user