chore: changes for deployment to get the pocketbase public url variable value

This commit is contained in:
Ilia Mashkov
2026-05-21 18:15:16 +03:00
parent 3e520f6abb
commit 1b0ffd41a2
3 changed files with 11 additions and 4 deletions
+2
View File
@@ -24,6 +24,8 @@ jobs:
with:
context: .
push: true
build-args: |
PB_PUBLIC_URL=${{ vars.PB_PUBLIC_URL }}
tags: |
docker.allmy.work/${{ gitea.repository }}:latest
docker.allmy.work/${{ gitea.repository }}:${{ gitea.sha }}
+3
View File
@@ -7,6 +7,8 @@ RUN yarn install --immutable
FROM node:22-alpine AS builder
WORKDIR /app
RUN corepack enable
ARG PB_PUBLIC_URL
ENV PB_PUBLIC_URL=$PB_PUBLIC_URL
COPY --from=deps /app/node_modules ./node_modules
COPY . .
ENV NEXT_TELEMETRY_DISABLED=1
@@ -22,6 +24,7 @@ RUN addgroup -S -g 1001 nodejs && adduser -S -u 1001 -G nodejs nextjs
COPY --from=builder /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
RUN mkdir -p .next/cache && chown -R nextjs:nodejs .next/cache
USER nextjs
EXPOSE 3000
CMD ["node", "server.js"]
+6 -4
View File
@@ -1,8 +1,10 @@
import type { NextConfig } from 'next';
/* PocketBase origin — used to allowlist remote images.
* PB_HOSTNAME and PB_PORT are server-only env vars; safe to read here. */
const pbHostname = process.env.PB_HOSTNAME ?? '127.0.0.1';
/* Public PocketBase host for the image optimizer allowlist.
* Derived from PB_PUBLIC_URL (e.g. https://cms.allmy.work) at BUILD time —
* remotePatterns is frozen into the build, so PB_PUBLIC_URL must be present
* during `next build` in CI (via build-arg), not just at runtime. */
const pbPublicHost = process.env.PB_PUBLIC_URL ? new URL(process.env.PB_PUBLIC_URL).hostname : '127.0.0.1';
const nextConfig: NextConfig = {
output: 'standalone',
@@ -11,7 +13,7 @@ const nextConfig: NextConfig = {
remotePatterns: [
{
protocol: 'https',
hostname: pbHostname,
hostname: pbPublicHost,
pathname: '/api/files/**',
},
],