diff --git a/compose.yaml b/compose.yaml index 2795b98..ee99dd0 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1,31 +1,21 @@ services: relay29: - depends_on: - - postgres build: context: . target: final args: - - PROJECT=groups.purplekonnektiv.com # OPTIONAL + - PROJECT=examples/groups.fiatjaf.com # OPTIONAL + volumes: + - ./db:/db environment: - DOMAIN=groups.example.com - RELAY_NAME=Groups Relay - RELAY_PRIVKEY=XXXXX - - DATABASE_PATH=postgresql://relay29:relay29@postgres:5432/relay29?sslmode=disable + - DATABASE_PATH=/db - PORT=4200 # OPTIONAL - RELAY_DESCRIPTION=Groups Relay # - RELAY_CONTACT=contact@example.com # - RELAY_ICON=https://example.com/icon.png ports: - - 4200:4200 - postgres: - image: postgres:17 - environment: - - POSTGRES_DB=relay29 - - POSTGRES_USER=relay29 - - POSTGRES_PASSWORD=relay29 - volumes: - - ./db:/var/lib/postgresql/data - ports: - - 5432:5432 \ No newline at end of file + - 4200:4200 \ No newline at end of file diff --git a/go.mod b/go.mod index 8a5658c..62b19f0 100644 --- a/go.mod +++ b/go.mod @@ -32,10 +32,8 @@ require ( github.com/gobwas/pool v0.2.1 // indirect github.com/gobwas/ws v1.4.0 // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect - github.com/jmoiron/sqlx v1.3.5 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/klauspost/compress v1.17.8 // indirect - github.com/lib/pq v1.10.9 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.19 // indirect diff --git a/go.sum b/go.sum index f252cc1..6ba18f7 100644 --- a/go.sum +++ b/go.sum @@ -51,7 +51,6 @@ github.com/fiatjaf/set v0.0.3 h1:LoawhcGoD504baBw0TwVJTQemzt15QYuxutzzWl2kgE= github.com/fiatjaf/set v0.0.3/go.mod h1:hdSwBrO+CwMEbYQAMaHtsib30KQLDtVjbX/1OgDK3tY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= @@ -76,8 +75,6 @@ github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= -github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= @@ -90,9 +87,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= -github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= @@ -100,7 +94,6 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mojocn/base64Captcha v1.3.6 h1:gZEKu1nsKpttuIAQgWHO+4Mhhls8cAKyiV2Ew03H+Tw= github.com/mojocn/base64Captcha v1.3.6/go.mod h1:i5CtHvm+oMbj1UzEPXaA8IH/xHFZ3DGY3Wh3dBpZ28E= github.com/nbd-wtf/go-nostr v0.35.0 h1:oINIBr5XE1kowkaz7NXC5vLvj2jUWH6xlzJjChpgV6Q= diff --git a/groups.purplekonnektiv.com/main.go b/groups.purplekonnektiv.com/main.go index 9d9b97c..9659208 100644 --- a/groups.purplekonnektiv.com/main.go +++ b/groups.purplekonnektiv.com/main.go @@ -6,7 +6,7 @@ import ( "slices" "time" - "github.com/fiatjaf/eventstore/postgresql" + "github.com/fiatjaf/eventstore/lmdb" "github.com/fiatjaf/khatru" "github.com/fiatjaf/khatru/policies" "github.com/fiatjaf/relay29" @@ -17,21 +17,21 @@ import ( ) type Settings struct { - Port string `envconfig:"PORT" default:"4200"` + Port string `envconfig:"PORT" default:"5577"` Domain string `envconfig:"DOMAIN" required:"true"` RelayName string `envconfig:"RELAY_NAME" required:"true"` RelayPrivkey string `envconfig:"RELAY_PRIVKEY" required:"true"` RelayDescription string `envconfig:"RELAY_DESCRIPTION"` RelayContact string `envconfig:"RELAY_CONTACT"` RelayIcon string `envconfig:"RELAY_ICON"` - DatabasePath string `envconfig:"DATABASE_PATH" default:"relay29:relay29@localhost/relay29?sslmode=disable"` + DatabasePath string `envconfig:"DATABASE_PATH" default:"./db"` RelayPubkey string `envconfig:"-"` } var ( s Settings - db = &postgresql.PostgresBackend{} + db = &lmdb.LMDBBackend{} log = zerolog.New(os.Stderr).Output(zerolog.ConsoleWriter{Out: os.Stdout}).With().Timestamp().Logger() relay *khatru.Relay state *relay29.State @@ -46,12 +46,13 @@ func main() { s.RelayPubkey, _ = nostr.GetPublicKey(s.RelayPrivkey) // load db - db.DatabaseURL = s.DatabasePath + db.Path = s.DatabasePath + db.MaxLimit = 40000 if err := db.Init(); err != nil { log.Fatal().Err(err).Msg("failed to initialize database") return } - log.Debug().Str("path", db.DatabaseURL).Msg("initialized database") + log.Debug().Str("path", db.Path).Msg("initialized database") // init relay29 stuff relay, state = khatru29.Init(relay29.Options{