# ---- public ---------------------------------------------------------------- # used for canonical urls, rss and og tags. must also be passed at *build* time # (Dockerfile ARG SITE_URL) because it lands in the client bundle. NUXT_PUBLIC_SITE_URL=https://nak0x.dev # ---- where the blog lives -------------------------------------------------- # gitea | github | local CONTENT_PROVIDER=gitea CONTENT_REPO=Nak0x/Journal CONTENT_BRANCH=main # sub-directory inside the repo holding the .md files ('' = repo root) CONTENT_DIR=posts # only read when CONTENT_PROVIDER=gitea GITEA_URL=https://git.nak0x.dev # personal access token — only needed for a private repo (gitea: scope read:repository) CONTENT_TOKEN= # seconds before a cached post is considered stale (it is still served while # refreshing). the webhook makes this a safety net, not the main path. CONTENT_TTL=600 # only read when CONTENT_PROVIDER=local. acts as the repo root: posts live in # /, site.json at /site.json CONTENT_LOCAL_DIR=content # portfolio content (bio, skills, links, projects), relative to the repo root. # absent from the repo => the seed in shared/site.ts is used until /dash saves. CONTENT_SITE_FILE=site.json # ---- projects -------------------------------------------------------------- # /projects is every public repo of these accounts — there is no hand-written # list. leave one empty to switch that forge off. PROJECTS_GITHUB_USER=nak0x PROJECTS_GITEA_USER=Nak0x # defaults to GITEA_URL above PROJECTS_GITEA_URL= # optional PATs. github allows 60 anonymous requests/hour per IP; a token # raises that to 5000. the gitea one falls back to CONTENT_TOKEN. PROJECTS_GITHUB_TOKEN= PROJECTS_GITEA_TOKEN= # repos to drop, comma-separated; matches "name" or "owner/name". for anything # more than a handful, tick "hide" on the project in /dash instead. PROJECTS_EXCLUDE= # forks belong to somebody else PROJECTS_INCLUDE_FORKS=false # seconds before the repo list is refetched PROJECTS_TTL=900 # ---- webhook --------------------------------------------------------------- # shared secret between this app and gitea/github. generate with: # openssl rand -hex 32 CONTENT_WEBHOOK_SECRET= # ---- /dash ----------------------------------------------------------------- # unset => the dashboard is disabled entirely (login always 503s). # writing from /dash also needs CONTENT_TOKEN above, with repo write scope. DASH_PASSWORD= # optional; defaults to a key derived from DASH_PASSWORD, so changing the # password already invalidates every open session. DASH_SESSION_SECRET= # how long a login lasts, in hours DASH_SESSION_HOURS=168 # ---- misc ------------------------------------------------------------------ # render posts with `draft: true` in production too SHOW_DRAFTS=false