pnpm workspace root for Barazo forum development — shared configuration, tooling, and cross-package dependency management barazo.forum

fix(dx): standardize port mapping and clean up dev environment

API consistently on port 3000, Web on 3001 across all configs.
Remove duplicate docker-compose.dev.yml (barazo-deploy has the
canonical version). Remove broken dev:seed script. Complete the
workspace .env.example with all API variables grouped by service.

+43 -53
+3 -3
.devcontainer/devcontainer.json
··· 4 4 "features": { 5 5 "ghcr.io/devcontainers/features/docker-in-docker:2": {} 6 6 }, 7 - "forwardPorts": [3000, 3100, 5432, 6379], 7 + "forwardPorts": [3000, 3001, 5432, 6379], 8 8 "portsAttributes": { 9 - "3000": { "label": "Barazo Web", "onAutoForward": "notify" }, 10 - "3100": { "label": "Barazo API", "onAutoForward": "notify" }, 9 + "3000": { "label": "Barazo API", "onAutoForward": "notify" }, 10 + "3001": { "label": "Barazo Web", "onAutoForward": "notify" }, 11 11 "5432": { "label": "PostgreSQL", "onAutoForward": "silent" }, 12 12 "6379": { "label": "Valkey", "onAutoForward": "silent" } 13 13 },
+40 -4
.env.example
··· 1 + # ============================================================================= 1 2 # Barazo Development Environment 3 + # ============================================================================= 4 + # Copy to .env and adjust values as needed. 5 + # This file configures both barazo-api and barazo-web for local development. 6 + 7 + # --- Database (PostgreSQL with pgvector) --- used by: barazo-api 2 8 DATABASE_URL=postgresql://barazo:barazo_dev@localhost:5432/barazo 9 + 10 + # --- Cache (Valkey) --- used by: barazo-api 3 11 VALKEY_URL=redis://localhost:6379 12 + 13 + # --- Tap (AT Protocol firehose consumer) --- used by: barazo-api 4 14 TAP_URL=http://localhost:2480 15 + TAP_ADMIN_PASSWORD=tap_dev_secret 16 + 17 + # --- Community --- used by: barazo-api 5 18 COMMUNITY_MODE=single 19 + COMMUNITY_DID= 20 + COMMUNITY_NAME=Barazo Dev Community 21 + 22 + # --- API Server --- used by: barazo-api 23 + HOST=0.0.0.0 24 + PORT=3000 6 25 LOG_LEVEL=debug 26 + 27 + # --- CORS --- used by: barazo-api 7 28 CORS_ORIGINS=http://localhost:3001 8 - NEXT_PUBLIC_API_URL=http://localhost:3000/api 9 - NEXT_PUBLIC_SITE_URL=http://localhost:3001 10 - SESSION_SECRET=your-session-secret-minimum-32-characters-long 29 + 30 + # --- Rate Limiting (requests per minute) --- used by: barazo-api 31 + RATE_LIMIT_AUTH=10 32 + RATE_LIMIT_WRITE=10 33 + RATE_LIMIT_READ_ANON=100 34 + RATE_LIMIT_READ_AUTH=300 35 + 36 + # --- OAuth (AT Protocol) --- used by: barazo-api 11 37 OAUTH_CLIENT_ID=http://localhost?redirect_uri=http%3A%2F%2F127.0.0.1%3A3000%2Fapi%2Fauth%2Fcallback 12 38 OAUTH_REDIRECT_URI=http://127.0.0.1:3000/api/auth/callback 39 + SESSION_SECRET=your-session-secret-minimum-32-characters-long 40 + OAUTH_SESSION_TTL=604800 41 + OAUTH_ACCESS_TOKEN_TTL=900 42 + 43 + # --- Error Monitoring (GlitchTip - Sentry SDK compatible) --- used by: barazo-api 13 44 GLITCHTIP_DSN= 14 - # Optional: enables semantic search (e.g., OpenRouter embedding endpoint) 45 + 46 + # --- Frontend URLs --- used by: barazo-web 47 + NEXT_PUBLIC_API_URL=http://localhost:3000/api 48 + NEXT_PUBLIC_SITE_URL=http://localhost:3001 49 + 50 + # --- Optional: Embedding API (enables semantic search) --- used by: barazo-api 15 51 EMBEDDING_URL=
-45
docker-compose.dev.yml
··· 1 - services: 2 - postgres: 3 - image: pgvector/pgvector:pg16 4 - ports: 5 - - "5432:5432" 6 - environment: 7 - POSTGRES_USER: barazo 8 - POSTGRES_PASSWORD: barazo_dev 9 - POSTGRES_DB: barazo 10 - volumes: 11 - - pgdata:/var/lib/postgresql/data 12 - healthcheck: 13 - test: ["CMD-SHELL", "pg_isready -U barazo"] 14 - interval: 10s 15 - retries: 5 16 - 17 - valkey: 18 - image: valkey/valkey:8-alpine 19 - ports: 20 - - "6379:6379" 21 - volumes: 22 - - valkeydata:/data 23 - healthcheck: 24 - test: ["CMD", "valkey-cli", "ping"] 25 - interval: 10s 26 - retries: 3 27 - 28 - tap: 29 - image: ghcr.io/bluesky-social/indigo/tap:latest 30 - platform: linux/amd64 31 - ports: 32 - - "2480:2480" 33 - environment: 34 - TAP_RELAY_URL: https://bsky.network 35 - TAP_SIGNAL_COLLECTION: forum.barazo.topic.post 36 - TAP_COLLECTION_FILTERS: forum.barazo.topic.post,forum.barazo.topic.reply,forum.barazo.interaction.reaction 37 - TAP_DATABASE_URL: sqlite:///data/tap.db 38 - TAP_ADMIN_PASSWORD: tap_dev_secret 39 - volumes: 40 - - tapdata:/data 41 - 42 - volumes: 43 - pgdata: 44 - valkeydata: 45 - tapdata:
-1
package.json
··· 6 6 "dev:infra": "docker compose -f barazo-deploy/docker-compose.dev.yml up -d", 7 7 "dev:infra:down": "docker compose -f barazo-deploy/docker-compose.dev.yml down", 8 8 "dev:infra:logs": "docker compose -f barazo-deploy/docker-compose.dev.yml logs -f", 9 - "dev:seed": "pnpm tsx seed/seed.ts", 10 9 "dev:api": "pnpm --filter barazo-api dev", 11 10 "dev:web": "pnpm --filter barazo-web dev", 12 11 "test": "pnpm -r test",