A demo of a Bluesky feed generator in Go

forgot that the port must be 443

+2 -20
-1
.env-example
··· 1 FEED_DID_BASE="test" 2 FEED_HOST_NAME="test" 3 FEED_NAME="test-feed" 4 - SERVER_PORT="3000"
··· 1 FEED_DID_BASE="test" 2 FEED_HOST_NAME="test" 3 FEED_NAME="test-feed"
+2 -19
main.go
··· 9 "os" 10 "os/signal" 11 "path" 12 - "strconv" 13 "syscall" 14 15 "github.com/avast/retry-go/v4" ··· 18 19 const ( 20 defaultJetstreamAddr = "wss://jetstream.atproto.tools/subscribe" 21 - defaultServerPort = 3000 22 ) 23 24 func main() { ··· 49 if feedHost == "" { 50 return fmt.Errorf("FEED_NAME not set") 51 } 52 - serverPort, err := getServerPort() 53 - if err != nil { 54 - return err 55 - } 56 dbPath := os.Getenv("DATABASE_PATH") 57 if dbPath == "" { 58 dbPath = "./" ··· 113 114 slog.Warn("exiting consume loop") 115 } 116 - 117 - func getServerPort() (int, error) { 118 - portStr := os.Getenv("SERVER_PORT") 119 - if portStr == "" { 120 - return defaultServerPort, nil 121 - } 122 - 123 - port, err := strconv.Atoi(portStr) 124 - if err != nil { 125 - return 0, fmt.Errorf("invalid port specified: %w", err) 126 - } 127 - return port, nil 128 - }
··· 9 "os" 10 "os/signal" 11 "path" 12 "syscall" 13 14 "github.com/avast/retry-go/v4" ··· 17 18 const ( 19 defaultJetstreamAddr = "wss://jetstream.atproto.tools/subscribe" 20 + serverPort = 443 // this must be the port value used. See https://docs.bsky.app/docs/starter-templates/custom-feeds#deploying-your-feed 21 ) 22 23 func main() { ··· 48 if feedHost == "" { 49 return fmt.Errorf("FEED_NAME not set") 50 } 51 + 52 dbPath := os.Getenv("DATABASE_PATH") 53 if dbPath == "" { 54 dbPath = "./" ··· 109 110 slog.Warn("exiting consume loop") 111 }