Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rmh78/nostr-relay
Java Quarkus based nostr relay
https://github.com/rmh78/nostr-relay
java nostr quarkus relay
Last synced: 16 days ago
JSON representation
Java Quarkus based nostr relay
- Host: GitHub
- URL: https://github.com/rmh78/nostr-relay
- Owner: rmh78
- License: mit
- Created: 2022-12-19T16:00:31.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-02T15:19:35.000Z (about 2 years ago)
- Last Synced: 2024-11-07T04:44:40.932Z (2 months ago)
- Topics: java, nostr, quarkus, relay
- Language: Java
- Homepage:
- Size: 34.2 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nostr-relay
> **Note:** The project is still in early development and not ready for production usage.
## (1) Intro
[**nostr**](https://github.com/nostr-protocol/nostr) is a open protocol that is able to create a censorship-resistant global "social" network which consists of **nostr clients** and **nostr relays**.
This project builds a **nostr relay** using **Java** as programming language and [**Quarkus**](https://quarkus.io) as Microservices framework. With Quarkus and GraalVM native image compiler the Java program can be compiled into a native Linux binary (fast startup and minimal memory consumption).
The following Quarkus extensions are used:
| Extension | Documentation |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------- |
| Quarkus Websockets | |
| Quarkus Resteasy Reactive Jackson |
|
| Quarkus Hibernate ORM Panache |
|
| Quarkus Smallrye Reactive Messaging | |## (2) Development
1. Use [SDKMAN](https://sdkman.io) to install needed software:
- Java 17
- Maven 3.8.7
- Quarkus CLI 2.15.02. Start Quarkus dev server by running the command: `quarkus dev`
## (3) Build and run a Quarkus native image
```sh
# use the cli to compile native binary and build docker image
quarkus image build docker --native# run nostr relay
docker run -i --rm -p 8080:8080 rmh78/nostr-relay:latest
```