Skip to content

Nostr server for hosting media upload (NIP96 & Blossom), nostr address (NIP05), lightning redirects and much more.

License

Notifications You must be signed in to change notification settings

quentintaranpino/nostrcheck-server

Repository files navigation

Nostrcheck server

Contributors License

Powered by

TypeScript NodeJS MariaDB Redis Docker Nginx Ffmpeg nostr-tools Python AI S3 NWC

About

Nostrcheck Server is a comprehensive solution for managing and offering services within the Nostr ecosystem, designed to ensure data sovereignty. This server enables:

  • Nostraddress Management (NIP05): Configure and manage personalized Nostr addresses.
  • Hosting of Multimedia Files: Fully compatible with NIP94, NIP96, and Blossom🌸 for uploading and sharing content.
  • Lightning Redirects: Allow your users to redirect payments to their Lightning wallets using their Nostraddress.
  • Full LN Integration: Compatible with Nostr Wallet Connect and LNBits, enabling LN payments for file uploads, downloads, and user registrations.
  • Advanced User Management: Control profiles, invitations, and permissions.
  • Plugin Module: Customize and extend server functionalities with plugins. (WoT, etc).
  • Public Gallery and Directory: The public gallery displays files uploaded by users, while the directory showcases user profiles from the community.
  • User-Managed Nostr Tools: Users can manage their Nostr relays, profile data, uploaded files, and update their account settings directly from their profiles.
  • Ban Module: Includes tools to ban users, ensuring data security and enabling the reporting of illegal activities to the authorities.
  • Integrated AI: Automatically analyzes uploaded multimedia to detect sensitive or illegal content, reducing the workload for server administrators.
  • Invitation Module: Allows administrators to manage invitation codes for controlled access to specific domains.

The server is highly customizable and can be deployed in any environment, allowing anyone to become a Nostr service provider.

Table of Contents

Installation

The installation can be done in two ways, standalone where the system resources will be used natively and via docker where the software will be encapsulated in an isolated image.

The standalone installation allows you to configure more parameters, such as the database name, the public key of the server or other aspects. On the other hand, the docker installation is simpler and more secure, so use docker if you are not sure which one to choose.

In either case, all parameters can be modified using the settings page in the server administration panel.

Installation (standalone)

To make a standalone installation you can use the following script. You can find the code here

curl https://raw.githubusercontent.com/quentintaranpino/nostrcheck-server/refs/heads/main/scripts/install.sh --output install.sh && chmod +x install.sh && ./install.sh

Installation (docker)

To install and run the server using docker you can use the following script.

git clone https://github.com/quentintaranpino/nostrcheck-server.git && cd nostrcheck-server && sudo docker-compose up -d
Docker.installation.mp4

Documentation

See documentation here

Configuration

See configuration here

Plugins

See plugins here

Screenshots

Dashboard

image

User public / private profile

image

Nostr settings page

image

Nostr relay management

image

Nostr file manager

image

Server settings page

image

Login

image

Gallery

image

Uploads

image

Directory

image

Public API docs

image

Customizable frontpage and logo

image

Register form

image

Payments (register)

image

Payments (file hosting)

image

Plugins

image

Supported Nostr NIP's

  • NIP01
  • NIP04
  • NIP05
  • NIP07
  • NIP19
  • NIP44
  • NIP47
  • NIP94
  • NIP96
  • NIP98

Supported Blossom BUD's

  • BUD01
  • BUD02
  • BUD03
  • BUD04
  • BUD06
  • BUD07

Supported Lightning LUD's

  • LUD06

Roadmap

  • Nostraddress service
  • Media uploads
  • Lightning redirects
  • Standalone Installation script
  • Docker installation
  • Nostr DM integration (NIP04)
  • Frontend UI (dashboard)
  • Frontend UI (settings)
  • Frontend UI (homepage)
  • Frontend UI (docs and ToS)
  • Remote Object Storage (s3)
  • Blossom spec compatible
  • Lightning payments
  • Frontend UI (profile)
  • Frontend UI (public gallery)
  • Frontend UI (public upload)
  • Frontend UI (register)
  • Ban system
  • AI moderation
  • Plugins engine
  • Private Direct Messages (NIP17)
  • Multi-server mirroring
  • Import / Export data
  • Custom frontend templates
  • Frontend UI (directory)
  • Umbrel appstore integration
  • Start9 appstore integration
  • Integrated micro-relay
  • Nostr wallet connect

License

MIT License (MIT)


Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.