Portfolio/.env.example
2026-09-08 19:54:06 +02:00

64 lines
2.7 KiB
Plaintext

# ---- 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
# <CONTENT_LOCAL_DIR>/<CONTENT_DIR>, site.json at <CONTENT_LOCAL_DIR>/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