https://github.com/dezh-tech/alienos
A plugin-able and manageable Nostr stack (relay/blossom/nip-05) designed for self-hosting.
https://github.com/dezh-tech/alienos
bitcoin blossom go golang media mediaserver nip05 nostr relay self-hosted selfhosting
Last synced: about 1 year ago
JSON representation
A plugin-able and manageable Nostr stack (relay/blossom/nip-05) designed for self-hosting.
- Host: GitHub
- URL: https://github.com/dezh-tech/alienos
- Owner: dezh-tech
- License: mit
- Created: 2025-02-07T12:02:49.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-15T11:39:12.000Z (about 1 year ago)
- Last Synced: 2025-05-15T12:35:25.798Z (about 1 year ago)
- Topics: bitcoin, blossom, go, golang, media, mediaserver, nip05, nostr, relay, self-hosted, selfhosting
- Language: Go
- Homepage:
- Size: 805 KB
- Stars: 16
- Watchers: 1
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-nostr - Alienos - tech/alienos.svg?style=social) - A plugin-able and manageable (NIP-86) lightweight nostr stack (relay/blossom/nip-05) designed for self-hosting. Supporting tor hidden service and full running documentation. (Relays / Implementations)
README
Alienos
The Alienos is a Nostr stack (relay/blossom mediaserver/nip-05 server) which is manageable (using nip-86) and [plugin-able](wip). We designed it for self-hosting and backups.
This project is based on [Khatru](https://github.com/fiatjaf/khatru), [Event Store](https://github.com/fiatjaf/eventstore), [Blob Store](github.com/kehiy/blobstore) and [Go Nostr](github.com/nbd-wtf/go-nostr).
## Landing Page

## 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:
1. **Pull the latest image**
```sh
docker pull dezhtech/alienos
```
2. **Run Alienos with environment variables**
```sh
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**:
1. **use `compose.yml`**
Use the existing compose file in the alienos directory
2. **Run with Compose**
```sh
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](https://github.com/dezh-tech/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](./LICENSE).