mleku on Nostr: #realy installation is simple install go 1.23 and git git clone ...
#realy installation is simple
install go 1.23 and git
git clone https://github.com/mleku/realy.git
cd realy
for the simplest but not as performant
export CGO_ENABLED=0
cd cmd/realy
go build .
this produces the binary in the current directory, then move the binary `realy` where you want, eg /usr/local/bin
realy env
spits out the default configuration (and when customised, the current configuration)
mkdir ~/.realy
realy env > ~/.realy/.env
these are the expected default locations for the data directory and configuration file
use your editor (nano i guess would be most people, maybe vi/vim for some) to edit, it's just a set of key/value pairs in standard env style
you can move it to another directory if you must, but you have to invoke it with the data directory environment variable set in the command, eg:
ROOT_DIR=/path/to/where/you/want/it PROFILE=.profileFolderNameCanBeAnyValidDirectoryName realy
this will then make realy look in that place to load the .env file (it's always called .env though, sorry #notsorry
for more information, see https://realy.lol it will explain how to disable CGO as well as, from the main readme.md, direct you to the instructions on how to build the bitcoin/secp256k1 signature library to get much better event signature verification performance
#realy uses an event store based on fiatjaf's eventstore/badger but much less resource hungry, and using the fastest #golang binary event encoder i am aware of, there is no extra configuration, no docker, no environment, #nobullshit
it is, in my 8 years experience at Go development a reasonably well written, maybe could be better documented codebase, and it should not be difficult, if you have the will, to learn Go and to modify this relay to do whatever you like, and please do ping me if you create featurse for it, i am happy to integrate them into the mainline with a suitable, consistent interface for configuring to use it (such as how it currently is a no-auth open public relay by default currently, but if you set AUTH_REQUIRED it requires nip-42 auth, and if you put your npub in OWNERS it will allow everyone on your follow list, once it's published to the relay, to publish notes to your relay and use it as an outbox
install go 1.23 and git
git clone https://github.com/mleku/realy.git
cd realy
for the simplest but not as performant
export CGO_ENABLED=0
cd cmd/realy
go build .
this produces the binary in the current directory, then move the binary `realy` where you want, eg /usr/local/bin
realy env
spits out the default configuration (and when customised, the current configuration)
mkdir ~/.realy
realy env > ~/.realy/.env
these are the expected default locations for the data directory and configuration file
use your editor (nano i guess would be most people, maybe vi/vim for some) to edit, it's just a set of key/value pairs in standard env style
you can move it to another directory if you must, but you have to invoke it with the data directory environment variable set in the command, eg:
ROOT_DIR=/path/to/where/you/want/it PROFILE=.profileFolderNameCanBeAnyValidDirectoryName realy
this will then make realy look in that place to load the .env file (it's always called .env though, sorry #notsorry
for more information, see https://realy.lol it will explain how to disable CGO as well as, from the main readme.md, direct you to the instructions on how to build the bitcoin/secp256k1 signature library to get much better event signature verification performance
#realy uses an event store based on fiatjaf's eventstore/badger but much less resource hungry, and using the fastest #golang binary event encoder i am aware of, there is no extra configuration, no docker, no environment, #nobullshit
it is, in my 8 years experience at Go development a reasonably well written, maybe could be better documented codebase, and it should not be difficult, if you have the will, to learn Go and to modify this relay to do whatever you like, and please do ping me if you create featurse for it, i am happy to integrate them into the mainline with a suitable, consistent interface for configuring to use it (such as how it currently is a no-auth open public relay by default currently, but if you set AUTH_REQUIRED it requires nip-42 auth, and if you put your npub in OWNERS it will allow everyone on your follow list, once it's published to the relay, to publish notes to your relay and use it as an outbox