my website at ewancroft.uk
1# Your ATProto DID (Decentralized Identifier)
2# You can find this in your Bluesky profile settings or at https://bsky.app
3PUBLIC_ATPROTO_DID=did:plc:your-did-here
4
5# Enable WhiteWind support (optional)
6# Set to "true" to check WhiteWind for blog posts, "false" to disable
7# If disabled, only Leaflet posts will be fetched and redirected
8# Default: false
9PUBLIC_ENABLE_WHITEWIND=false
10
11# Fallback URL (optional)
12# If a document cannot be found on WhiteWind or Leaflet, redirect here
13# Example: https://archive.example.com
14# Leave empty to return a 404 error instead
15PUBLIC_BLOG_FALLBACK_URL=""
16
17# Publication to Slug Mapping
18# Configure your publication slugs in src/lib/config/slugs.ts
19# This allows you to access publications via friendly URLs like /blog, /notes, etc.
20# Example: { slug: 'blog', publicationRkey: '3m3x4bgbsh22k' }
21#
22# Each publication in Leaflet can have its own base_path configured, which will be
23# automatically used when redirecting. If no base_path is set, the system falls back
24# to the standard Leaflet URL format (https://leaflet.pub/lish/{did}/{rkey}).
25
26# If you have `com.whtwnd.blog.entry` records in your AT Protocol
27# repository, they will also be fetched and displayed on your website
28# alongside your Leaflet posts.
29# The WhiteWind posts are always linked to using the following format:
30# https://whtwnd.com/[did]/[rkey].
31
32# Slingshot Configuration (optional)
33# Local Slingshot instance for development - primary source for AT Protocol data
34# Set to your local Slingshot instance URL (default: http://localhost:3000)
35# Leave empty to skip local Slingshot and use public Slingshot directly
36PUBLIC_LOCAL_SLINGSHOT_URL="http://localhost:3000"
37
38# Public Slingshot instance - fallback if local is unavailable
39# Default: https://slingshot.microcosm.blue
40PUBLIC_SLINGSHOT_URL="https://slingshot.microcosm.blue"
41
42# Site Metadata (for SEO and social sharing)
43PUBLIC_SITE_TITLE="Your Site Title"
44PUBLIC_SITE_DESCRIPTION="Your site description"
45PUBLIC_SITE_KEYWORDS="your, keywords, here"
46PUBLIC_SITE_URL="https://your-site-url.com"
47
48# CORS Configuration (for API endpoints)
49# Comma-separated list of allowed origins for CORS
50# Use "*" to allow all origins (not recommended for production)
51# Example: https://example.com,https://app.example.com
52PUBLIC_CORS_ALLOWED_ORIGINS="https://your-site-url.com"
53
54# Cache TTL Configuration (optional)
55# Configure how long different types of data are cached (in minutes)
56# Longer TTLs reduce API calls and prevent timeouts, but data may be less fresh
57# Leave empty to use defaults (optimized for production)
58# Profile data (default: 5 min dev, 60 min prod)
59# CACHE_TTL_PROFILE=60
60# Site info (default: 5 min dev, 120 min prod)
61# CACHE_TTL_SITE_INFO=120
62# Links (default: 5 min dev, 60 min prod)
63# CACHE_TTL_LINKS=60
64# Music status (default: 2 min dev, 10 min prod)
65# CACHE_TTL_MUSIC_STATUS=10
66# Kibun status (default: 2 min dev, 15 min prod)
67# CACHE_TTL_KIBUN_STATUS=15
68# Tangled repos (default: 5 min dev, 60 min prod)
69# CACHE_TTL_TANGLED_REPOS=60
70# Blog posts (default: 5 min dev, 30 min prod)
71# CACHE_TTL_BLOG_POSTS=30
72# Publications (default: 5 min dev, 60 min prod)
73# CACHE_TTL_PUBLICATIONS=60
74# Individual posts (default: 5 min dev, 60 min prod)
75# CACHE_TTL_INDIVIDUAL_POST=60
76# Identity resolution (default: 30 min dev, 1440 min/24h prod)
77# CACHE_TTL_IDENTITY=1440