Sign inSign up

holgerhatgarkeinenode/haven-docker

By holgerhatgarkeinenode

•Updated 10 days ago

See: https://github.com/HolgerHatGarKeineNode/haven-docker⁠

Image
Web servers
0

4.1K

holgerhatgarkeinenode/haven-docker repository overview

⁠Haven Docker

Dockerized wrapper for Haven⁠ — a High Availability Vault for Events on Nostr. Haven is a sovereign personal relay that bundles four specialized relays (Private, Chat, Inbox, Outbox) plus a Blossom media server into one self-hosted package, with web-of-trust filtering, note importing, cloud backups, and blastr broadcasting built in.

This repository packages Haven as a Docker Compose setup with a TUI for configuration and management.

⁠Quick start

  1. Ensure Docker and Docker Compose are installed and running.

  2. Copy the example files and edit them for your relay:

cp .env.example .env
cp relays_import.example.json relays_import.json
cp relays_blastr.example.json relays_blastr.json
cp blacklisted_npubs.example.json blacklisted_npubs.json
cp whitelisted_npubs.example.json whitelisted_npubs.json

The web dashboard templates are baked into the image — no host templates/ copy is required for a default install.

  1. Edit .env — at minimum set these to your own values:
VariableDescription
OWNER_NPUBYour nostr public key (npub)
RELAY_URLPublic hostname of your relay
RELAY_PORTPort the relay listens on (default 3355)
PRIVATE_RELAY_NPUBnpub for the private relay
CHAT_RELAY_NPUBnpub for the chat relay
OUTBOX_RELAY_NPUBnpub for the outbox relay
INBOX_RELAY_NPUBnpub for the inbox relay

All relay names, descriptions, icons, rate limiters, WOT, backup, and import settings can also be configured in .env. See .env.example for the full list with comments.

  1. Edit the JSON lists to fit your needs:
  • relays_import.json — relays to import notes from
  • relays_blastr.json — relays for blastr to broadcast to
  • blacklisted_npubs.json — npubs to block
  • whitelisted_npubs.json — npubs to allow (if whitelist mode)
  1. Start the relay:
./haven

The TUI guides you through the remaining setup.

⁠Optional: customize the web dashboard

To override the baked-in templates, copy the examples and re-enable the volume in docker-compose.yml (and docker-compose.tor.yml if you use Tor):

cp -r templates-example/* templates/
volumes:
  - "./templates:/app/templates"   # uncomment this line

A host bind-mount replaces the image copy entirely — an empty ./templates directory will break the UI.

⁠CLI

./haven start             # Start (Docker Compose)
./haven start --tor       # Start with Tor hidden service
./haven stop              # Stop services
./haven restart           # Restart services
./haven logs              # Stream logs
./haven onion             # Show Tor .onion address
./haven json              # Edit JSON lists in TUI
./haven env-upgrade       # Add missing vars from .env.example
./haven help              # Full usage info

⁠Acknowledgements

Haven is built and maintained by barrydeen⁠ and its contributors⁠. Thanks to everyone who makes this project possible.

Tag summary

Content type

Image

Digest

sha256:dfc798984…

Size

15.4 MB

Last updated

10 days ago

docker pull holgerhatgarkeinenode/haven-docker