Alienos
A plugin-able and manageable Nostr stack (relay/blossom/nip-05) designed for self-hosting.
Install / Use
/learn @dezh-tech/AlienosREADME
The Alienos is a Nostr stack (relay/blossom mediaserver/nip-05 server) which is manageable (using nip-86) and plugin-able. We designed it for self-hosting and backups.
This project is based on Khatru, Event Store, Blob Store and Go Nostr.
Landing Page
<img alt="alienos" src="./static/images/screenshot.png" />Features
- [X] Support NIPs: 1, 9, 11, 40, 42, 50, 56, 59, 70, 86.
- [X] Support BUDs: 1, 2, 4, 6, 9 (Manageable using nip-86).
- [X] NIP-05 server (Manageable using nip-86, caching for recent requests to enhance response delay).
- [X] Manageable using NIP-86.
- [X] Landing page with NIP-11 document.
- [X] S3 backups (relay dbs/blobs/nip05 data/management info).
- [X] Moderator notifications.
- [X] S3 as blossom target.
- [X] Colorful Console/File logger.
- [ ] Running on Tor.
- [ ] Support plugins.
- [ ] StartOS support.
- [ ] Umbrel support.
How to set it up?
Option 1: Use Prebuilt Docker Image (Recommended)
The easiest way to run the Alienos is by using the prebuilt image:
-
Pull the latest image
docker pull dezhtech/alienos -
Run Alienos with environment variables
docker run -d --name alienos \ -p 7771:7771 \ -e ALIENOS_WORK_DIR="alienos_wd/" \ -e ALIENOS_RELAY_NAME="Alienos" \ -e ALIENOS_RELAY_ICON="https://nostr.download/6695de4b095cd99ee7b4f6e2ef9ff89a9029efc1a017e60b8b5b5cb446b2c1e0.webp" \ -e ALIENOS_RELAY_BANNER="https://nostr.download/5b3fa3e40365061d58946fdb1bc6549a4675186591f9f589f9983895bfac8940.webp" \ -e ALIENOS_RELAY_DESCRIPTION="A self-hosting Nostr stack!" \ -e ALIENOS_RELAY_PUBKEY="badbdda507572b397852048ea74f2ef3ad92b1aac07c3d4e1dec174e8cdc962a" \ -e ALIENOS_RELAY_CONTACT="hi@dezh.tech" \ -e ALIENOS_RELAY_SELF="" \ -e ALIENOS_RELAY_PORT=7771 \ -e ALIENOS_RELAY_BIND="0.0.0.0" \ -e ALIENOS_RELAY_URL="" \ -e ALIENOS_BACKUP_ENABLE="true" \ -e ALIENOS_BACKUP_INTERVAL_HOURS=1 \ -e ALIENOS_S3_ACCESS_KEY_ID="" \ -e ALIENOS_S3_SECRET_KEY="" \ -e ALIENOS_S3_ENDPOINT="" \ -e ALIENOS_S3_REGION="" \ -e ALIENOS_S3_BUCKET_NAME="alienos" \ -e ALIENOS_S3_AS_BLOSSOM_STORAGE="false" \ -e ALIENOS_S3_BLOSSOM_BUCKET="alienos" \ -e ALIENOS_PUBKEY_WHITE_LISTED="false" \ -e ALIENOS_KIND_WHITE_LISTED="false" \ -e ALIENOS_ADMINS="" \ -e ALIENOS_LOG_FILENAME="alienos.log" \ -e ALIENOS_LOG_LEVEL="info" \ -e ALIENOS_LOG_TARGETS="file,console" \ -e ALIENOS_LOG_MAX_SIZE=10 \ -e ALIENOS_LOG_FILE_COMPRESS=true \ dezhtech/alienos
Option 2: Using Docker Compose
For a more structured deployment, use Docker Compose:
-
use
compose.ymlUse the existing compose file in the alienos directory -
Run with Compose
docker-compose up -d
Limitations
This project is highly suitable for personal, community, team, and backup usage because it is lightweight, feature-full, and easy to set up/manage.
If you are aiming to run a relay/nip-05 server/blossom media server for large-scale and high-load (as a paid relay, default relay for your client, or a public global relay), you can consider using the Immortal relay and its adjacent projects.
Contribution
All kinds of contributions are welcome!
Donation
Donations and financial support for the development process are possible using Bitcoin and Lightning:
on-chain:
bc1qfw30k9ztahppatweycnll05rzmrn6u07slehmc
lightning:
donate@dezh.tech
License
This software is published under the MIT License.
Related Skills
xurl
343.1kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
diffs
343.1kUse the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
kubeshark
11.8kCluster-wide network observability for Kubernetes. Captures L4 packets, L7 API calls, and decrypted TLS traffic using eBPF, with full Kubernetes context. Available to AI agents via MCP and human operators via dashboard.
openpencil
1.9kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
