Features/visual improvements #7
@@ -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 }}
|
||||
|
||||
@@ -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
@@ -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/**',
|
||||
},
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user