3 Commits

Author SHA1 Message Date
ahmed debfcf7226 Attempt 2
Publish Development Docker Image / Publish Development Docker Image (push) Successful in 8s
Publish Docker Image / Publish Docker Image (push) Successful in 27s
2025-04-07 17:33:54 -04:00
ahmed 15bbc27238 Attempt to propegate app version properly
Publish Development Docker Image / Publish Development Docker Image (push) Successful in 8s
2025-04-07 17:17:05 -04:00
ahmed 16bd44c599 Fix app version?
Publish Development Docker Image / Publish Development Docker Image (push) Successful in 9s
2025-04-07 17:06:40 -04:00
3 changed files with 38 additions and 19 deletions
+19 -9
View File
@@ -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:
#
+2
View File
@@ -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) => {
+17 -10
View File
@@ -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>
</>
)