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