Refactor WEBMENTION_TOKEN handling: read from file and remove environment configuration
All checks were successful
Deploy / deploy (push) Successful in 1m17s

This commit is contained in:
Adrian Altner 2026-04-22 02:53:15 +02:00
parent 131c0e90bb
commit 553cc63023
3 changed files with 19 additions and 15 deletions

View file

@ -11,9 +11,7 @@ RUN npm ci
COPY . .
RUN echo "CONTAINER DEBUG: WEBMENTION_TOKEN length=${#WEBMENTION_TOKEN}"
RUN node -e "console.log('NODE sees WEBMENTION_TOKEN length:', (process.env.WEBMENTION_TOKEN || '').length)"
RUN printf '%s' "${WEBMENTION_TOKEN}" > /app/.webmention-token
RUN npm run build

View file

@ -2,7 +2,7 @@
import mdx from '@astrojs/mdx';
import sitemap from '@astrojs/sitemap';
import { defineConfig, envField, fontProviders } from 'astro/config';
import { defineConfig, fontProviders } from 'astro/config';
import node from '@astrojs/node';
@ -10,16 +10,6 @@ import node from '@astrojs/node';
export default defineConfig({
site: 'https://adrian-altner.de',
env: {
schema: {
WEBMENTION_TOKEN: envField.string({
context: 'server',
access: 'secret',
optional: true,
}),
},
},
devToolbar: {
enabled: false,
},

View file

@ -1,8 +1,24 @@
---
import { WEBMENTION_TOKEN } from 'astro:env/server';
import { readFileSync } from 'node:fs';
import { DEFAULT_LOCALE, type Locale } from '~/consts';
import { getLocaleFromUrl, t } from '~/i18n/ui';
function readTokenFromFile(): string | undefined {
const paths = ['/app/.webmention-token', '.webmention-token'];
for (const p of paths) {
try {
const raw = readFileSync(p, 'utf-8').trim();
if (raw) return raw;
} catch {
// file not present, try next
}
}
return undefined;
}
const FILE_TOKEN = readTokenFromFile();
const WEBMENTION_TOKEN = FILE_TOKEN ?? (import.meta.env as Record<string, string | undefined>).WEBMENTION_TOKEN;
interface WMAuthor {
name?: string;
url?: string;