2024-03-01 01:40:15 +01:00
|
|
|
# Khatru Pyramid
|
2023-09-18 19:18:24 +00:00
|
|
|
|
|
|
|
A relay based on [Khatru](https://github.com/fiatjaf/khatru) with a invite hierarchy feature.
|
|
|
|
|
2024-02-23 15:20:17 +01:00
|
|
|
### Deploy with docker
|
|
|
|
|
2024-03-22 15:52:24 +01:00
|
|
|
```sh
|
|
|
|
docker run \
|
2024-02-28 16:59:16 +01:00
|
|
|
-p 3334:3334 \
|
|
|
|
-v ./users.json:/app/users.json \
|
|
|
|
-v ./db:/app/db \
|
2024-03-01 01:40:15 +01:00
|
|
|
-e DOMAIN="yourdomain.example.com" \
|
2024-02-28 16:59:16 +01:00
|
|
|
-e RELAY_NAME="your relay name" \
|
|
|
|
-e RELAY_PUBKEY="your nostr hex pubkey" \
|
|
|
|
tijlxyz/khatru-pyramid:latest
|
|
|
|
```
|
2024-02-23 15:20:17 +01:00
|
|
|
|
2024-03-01 01:40:15 +01:00
|
|
|
### Deploy with
|
|
|
|
|
|
|
|
- [YunoHost](https://github.com/YunoHost-Apps/khatru-pyramid_ynh) ([app catalog](https://apps.yunohost.org/catalog) [pending](https://github.com/YunoHost/apps/pull/2077))
|
|
|
|
- [Cloudron](https://github.com/github-tijlxyz/khatru-pyramid_cloudron) ([app catalog](https://www.cloudron.io/store/index.html) [pending](https://forum.cloudron.io/topic/11146/khatru-pyramid-a-nostr-relay))
|
|
|
|
|
|
|
|
### Manually build
|
|
|
|
|
2024-03-22 15:52:24 +01:00
|
|
|
```sh
|
|
|
|
git clone https://github.com/github-tijlxyz/khatru-pyramid && cd khatru-pyramid
|
|
|
|
just build
|
|
|
|
DOMAIN="example.com" RELAY_NAME="my relay" RELAY_PUBKEY=yourpubkey ./khatru-pyramid
|
2024-03-01 01:40:15 +01:00
|
|
|
```
|
|
|
|
|
2024-03-21 16:04:46 -04:00
|
|
|
### Configuration
|
|
|
|
|
2024-03-22 15:52:24 +01:00
|
|
|
Look at [example.env](./example.env) for all configuration options.
|
2024-03-21 16:04:46 -04:00
|
|
|
|
2024-03-22 15:52:24 +01:00
|
|
|
You can also manually edit the `users.json` file. Do this only when the server is down.
|
|
|
|
`users.json` is formatted as follows:
|
2024-03-21 16:04:46 -04:00
|
|
|
```json
|
|
|
|
{ "[user_pubkey_hex]": "[invited_by_pubkey_hex]" }
|
|
|
|
```
|
2024-03-22 15:52:24 +01:00
|
|
|
|