A community based topic aggregation platform built on atproto

fix: production deployment issues

- Update Go to 1.24 in Dockerfile
- Fix migrations path (internal/db/migrations)
- Add /xrpc/_health endpoint for Docker healthcheck
- Fix PORT env var precedence (PORT > APPVIEW_PORT)
- Add custom lexicon Jetstream URLs
- Add CURSOR_SECRET env var
- Comment out partial email config (PDS requires both or neither)

+11 -4
+11 -4
cmd/server/main.go
··· 457 457 log.Println("✅ Comment query API registered (20 req/min rate limit)") 458 458 log.Println(" - GET /xrpc/social.coves.community.comment.getComments") 459 459 460 - r.Get("/health", func(w http.ResponseWriter, r *http.Request) { 460 + // Health check endpoints 461 + healthHandler := func(w http.ResponseWriter, r *http.Request) { 461 462 w.WriteHeader(http.StatusOK) 462 463 if _, err := w.Write([]byte("OK")); err != nil { 463 464 log.Printf("Failed to write health check response: %v", err) 464 465 } 465 - }) 466 + } 467 + r.Get("/health", healthHandler) 468 + r.Get("/xrpc/_health", healthHandler) 466 469 467 - port := os.Getenv("APPVIEW_PORT") 470 + // Check PORT first (docker-compose), then APPVIEW_PORT (legacy) 471 + port := os.Getenv("PORT") 472 + if port == "" { 473 + port = os.Getenv("APPVIEW_PORT") 474 + } 468 475 if port == "" { 469 - port = "8081" // Match .env.dev default 476 + port = "8080" 470 477 } 471 478 472 479 fmt.Printf("Coves AppView starting on port %s\n", port)