A community based topic aggregation platform built on atproto
1# Coves Local Development Environment Configuration
2# Copy this to .env.dev and fill in your values
3#
4# Quick Start:
5# 1. cp .env.dev.example .env.dev
6# 2. Generate OAuth key: go run cmd/genjwks/main.go (copy output to OAUTH_PRIVATE_JWK)
7# 3. Generate cookie secret: openssl rand -hex 32
8# 4. make dev-up # Start Docker services
9# 5. make run # Start the server (uses -tags dev)
10
11# =============================================================================
12# Dev Mode Quick Reference
13# =============================================================================
14# REQUIRED for local OAuth to work with local PDS:
15# IS_DEV_ENV=true # Master switch for dev mode
16# PDS_URL=http://localhost:3001 # Local PDS for handle resolution
17# PLC_DIRECTORY_URL=http://localhost:3002 # Local PLC directory
18# APPVIEW_PUBLIC_URL=http://127.0.0.1:8081 # Use IP not localhost (RFC 8252)
19#
20# BUILD TAGS:
21# make run - Runs with -tags dev (includes localhost OAuth resolvers)
22# make build - Production binary (no dev code)
23# make build-dev - Dev binary (includes dev code)
24
25# =============================================================================
26# PostgreSQL Configuration
27# =============================================================================
28POSTGRES_HOST=localhost
29POSTGRES_PORT=5435
30POSTGRES_DB=coves_dev
31POSTGRES_USER=dev_user
32POSTGRES_PASSWORD=dev_password
33
34# Test database
35POSTGRES_TEST_DB=coves_test
36POSTGRES_TEST_USER=test_user
37POSTGRES_TEST_PASSWORD=test_password
38POSTGRES_TEST_PORT=5434
39
40# =============================================================================
41# PDS Configuration
42# =============================================================================
43PDS_HOSTNAME=localhost
44PDS_PORT=3001
45PDS_SERVICE_ENDPOINT=http://localhost:3000
46PDS_DID_PLC_URL=http://plc-directory:3000
47PDS_JWT_SECRET=local-dev-jwt-secret-change-in-production
48PDS_ADMIN_PASSWORD=admin
49PDS_SERVICE_HANDLE_DOMAINS=.local.coves.dev,.community.coves.social
50PDS_PLC_ROTATION_KEY=<generate-a-random-hex-key>
51
52# =============================================================================
53# AppView Configuration
54# =============================================================================
55APPVIEW_PORT=8081
56FIREHOSE_URL=ws://localhost:3001/xrpc/com.atproto.sync.subscribeRepos
57PDS_URL=http://localhost:3001
58APPVIEW_PUBLIC_URL=http://127.0.0.1:8081
59
60# =============================================================================
61# Jetstream Configuration
62# =============================================================================
63JETSTREAM_URL=ws://localhost:6008/subscribe
64
65# =============================================================================
66# Identity Resolution
67# =============================================================================
68IDENTITY_CACHE_TTL=24h
69PLC_DIRECTORY_URL=http://localhost:3002
70
71# =============================================================================
72# OAuth Configuration (MUST GENERATE YOUR OWN)
73# =============================================================================
74# Generate with: go run cmd/genjwks/main.go
75OAUTH_PRIVATE_JWK=<generate-your-own-jwk>
76
77# Generate with: openssl rand -hex 32
78OAUTH_COOKIE_SECRET=<generate-your-own-secret>
79
80# =============================================================================
81# Development Settings
82# =============================================================================
83ENV=development
84NODE_ENV=development
85IS_DEV_ENV=true
86LOG_LEVEL=debug
87LOG_ENABLED=true
88
89# Security settings (ONLY for local dev - set to false in production!)
90SKIP_DID_WEB_VERIFICATION=true
91AUTH_SKIP_VERIFY=true
92HS256_ISSUERS=http://localhost:3001