main.go raw

   1  package main
   2  
   3  import (
   4  	"context"
   5  	"os"
   6  	"os/signal"
   7  
   8  	"git.smesh.lol/orly/app"
   9  	"git.smesh.lol/orly/pkg/lol/log"
  10  )
  11  
  12  func main() {
  13  	dir := "app/smesh3"
  14  	if len(os.Args) > 1 {
  15  		dir = os.Args[1]
  16  	}
  17  
  18  	deployPub := os.Getenv("ORLY_DEPLOY_PUBKEY")
  19  	clientTag := os.Getenv("ORLY_CLIENT_TAG")
  20  	if clientTag == "" {
  21  		clientTag = "smesh.lol"
  22  	}
  23  	s := app.NewSmesh3Server(8090, dir, deployPub, clientTag)
  24  
  25  	ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt)
  26  	defer stop()
  27  
  28  	if err := s.Start(ctx); err != nil {
  29  		log.E.F("failed to start: %v", err)
  30  		os.Exit(1)
  31  	}
  32  
  33  	bot, err := app.NewBridgeBot(ctx, "wss://relay.orly.dev", true, "")
  34  	if err != nil {
  35  		log.E.F("bridge bot init failed: %v", err)
  36  	} else {
  37  		if err := bot.Start(ctx); err != nil {
  38  			log.E.F("bridge bot start failed: %v", err)
  39  		} else {
  40  			log.I.F("bridge bot pubkey: %s", bot.PubkeyHex())
  41  			defer bot.Stop()
  42  		}
  43  	}
  44  
  45  	<-ctx.Done()
  46  	s.Stop()
  47  }
  48