Skip to content
This repository was archived by the owner on Nov 20, 2025. It is now read-only.

Commit 79bd6e7

Browse files
committed
feat: v1.2.0
1 parent 50b078e commit 79bd6e7

File tree

4 files changed

+134
-109
lines changed

4 files changed

+134
-109
lines changed

.github/workflows/docker.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Create and publish Docker image for alienos relay
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
env:
9+
REGISTRY: docker.io
10+
IMAGE_NAME: ${{ secrets.DOCKERHUB_USERNAME }}/alienos
11+
BASE_TAG: latest
12+
13+
jobs:
14+
build-and-push-images:
15+
runs-on: ubuntu-latest
16+
17+
permissions:
18+
contents: read
19+
20+
steps:
21+
- name: Checkout repository
22+
uses: actions/checkout@v4
23+
24+
- name: Log in to Docker Hub
25+
uses: docker/login-action@v2
26+
with:
27+
username: ${{ secrets.DOCKERHUB_USERNAME }}
28+
password: ${{ secrets.DOCKERHUB_TOKEN }}
29+
30+
- name: Extract metadata (tags, labels) for Docker
31+
id: meta
32+
uses: docker/metadata-action@v5
33+
with:
34+
images: ${{ env.IMAGE_NAME }}
35+
36+
- name: Build and push Docker images
37+
id: push
38+
uses: docker/build-push-action@v5
39+
with:
40+
context: alienos
41+
dockerfile: dockerfile
42+
push: true
43+
tags: |
44+
${{ steps.meta.outputs.tags }}
45+
${{ env.IMAGE_NAME }}:${{ env.BASE_TAG }}
46+
labels: ${{ steps.meta.outputs.labels }}

README.md

Lines changed: 52 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -31,124 +31,70 @@ This project is based on [Khatru](https://github.com/fiatjaf/khatru), [Event Sto
3131
- [X] Colorful Console/File logger.
3232
- [ ] Running on Tor.
3333
- [ ] Support plugins.
34-
- [ ] Config, Running and plugins full documentation.
3534
- [ ] StartOS support.
3635
- [ ] Umbrel support.
3736

3837
## How to set it up?
3938

40-
### VPS
4139

42-
In this guide we explain how you can run an Alienos instance on your VPS using docker and nginx or without docker.
43-
44-
1. Prerequisites:
45-
46-
This project min requirements to be run is as below:
47-
48-
- **CPU**: 0.5 vCore
49-
- **Memory**: 500MB
50-
- **Storage**: Depends on your database size.
51-
52-
You need to by a server form your preferred provider and obtain ssh access to it.
53-
Its recommended to use debian/ubuntu distribution.
54-
55-
2. Domain name (optional): you can buy a domain name from your preferred provider to use for your relay. its recommended to do that.
56-
57-
3. Install Docker and Docker-compose:
58-
59-
```bash
60-
sudo apt update
61-
sudo apt install -y docker.io
62-
sudo apt install -y docker-compose
63-
```
64-
65-
4. Clone this repository:
66-
67-
```bash
68-
git clone https://github.com/dezh-tech/alienos.git
69-
cd alienos
70-
```
71-
72-
5. Setup your config:
73-
74-
```bash
75-
cp .env.example .env
76-
nano .env
77-
```
78-
79-
It would open a file that allows you to edit config file. Each field contains an example and comment as documentation. Make sure you read them.
80-
81-
> [!WARNING]
82-
> Technical note:
83-
> If you chained port config, don't forget to update it on docker-compose.yaml as well.
84-
85-
Use Ctrl+O+Enter and then Ctrl+X to save and exit.
86-
87-
6. Build and run:
88-
89-
Use this command to build and run your image:
90-
91-
```bash
92-
docker-compose up --build -d
93-
```
40+
#### **Option 1: Use Prebuilt Docker Image (Recommended)**
41+
42+
The easiest way to run the Alienos is by using the prebuilt image:
43+
44+
1. **Pull the latest image**
45+
46+
```sh
47+
docker pull dezhtech/alienos
48+
```
49+
50+
2. **Run Alienos with environment variables**
51+
```sh
52+
docker run -d --name alienos \
53+
-p 7771:7771 \
54+
-e ALIENOS_WORK_DIR="alienos_wd/" \
55+
-e ALIENOS_RELAY_NAME="Alienos" \
56+
-e ALIENOS_RELAY_ICON="https://nostr.download/6695de4b095cd99ee7b4f6e2ef9ff89a9029efc1a017e60b8b5b5cb446b2c1e0.webp" \
57+
-e ALIENOS_RELAY_BANNER="https://nostr.download/5b3fa3e40365061d58946fdb1bc6549a4675186591f9f589f9983895bfac8940.webp" \
58+
-e ALIENOS_RELAY_DESCRIPTION="A self-hosting Nostr stack!" \
59+
-e ALIENOS_RELAY_PUBKEY="badbdda507572b397852048ea74f2ef3ad92b1aac07c3d4e1dec174e8cdc962a" \
60+
-e ALIENOS_RELAY_CONTACT="hi@dezh.tech" \
61+
-e ALIENOS_RELAY_SELF="" \
62+
-e ALIENOS_RELAY_PORT=7771 \
63+
-e ALIENOS_RELAY_BIND="0.0.0.0" \
64+
-e ALIENOS_RELAY_URL="" \
65+
-e ALIENOS_BACKUP_ENABLE="true" \
66+
-e ALIENOS_BACKUP_INTERVAL_HOURS=1 \
67+
-e ALIENOS_S3_ACCESS_KEY_ID="" \
68+
-e ALIENOS_S3_SECRET_KEY="" \
69+
-e ALIENOS_S3_ENDPOINT="" \
70+
-e ALIENOS_S3_REGION="" \
71+
-e ALIENOS_S3_BUCKET_NAME="alienos" \
72+
-e ALIENOS_S3_AS_BLOSSOM_STORAGE="false" \
73+
-e ALIENOS_S3_BLOSSOM_BUCKET="alienos" \
74+
-e ALIENOS_PUBKEY_WHITE_LISTED="false" \
75+
-e ALIENOS_KIND_WHITE_LISTED="false" \
76+
-e ALIENOS_ADMINS="" \
77+
-e ALIENOS_LOG_FILENAME="alienos.log" \
78+
-e ALIENOS_LOG_LEVEL="info" \
79+
-e ALIENOS_LOG_TARGETS="file,console" \
80+
-e ALIENOS_LOG_MAX_SIZE=10 \
81+
-e ALIENOS_LOG_FILE_COMPRESS=true \
82+
dezhtech/alienos
83+
```
9484

9585
---
9686

97-
#### Setting up a domain (optional/recommended):
98-
99-
Using this command install nginx:
100-
101-
```bash
102-
sudo apt install nginx
103-
```
104-
105-
Setup your domain:
106-
107-
```bash
108-
sudo nano /etc/nginx/sites-available/<your-domain.com>
109-
```
110-
111-
> Replace it with your domain excluding the < and >.
112-
113-
Paste the [example config](nginx.conf) there and replace your domain.
114-
115-
Use Ctrl+O+Enter and then Ctrl+X to save and exit.
116-
117-
Enable the Nginx config:
118-
119-
```bash
120-
sudo ln -s /etc/nginx/sites-available/<your-domain.com> /etc/nginx/sites-enabled/
121-
```
122-
123-
Restart Nginx:
124-
125-
```bash
126-
sudo systemctl restart nginx
127-
```
128-
129-
Setup SSL (optional/recommended):
130-
131-
```bash
132-
sudo apt install certbot python3-certbot-nginx
133-
sudo certbot --nginx -d <your-domain.com>
134-
```
135-
136-
Then follow the prompts and provide required info to set up the SSL.
137-
138-
139-
Now your alienos server must be available using `wss://you-domain.com` and `wss://youe-ip:port`.
140-
141-
### Relay tools
142-
143-
> TODO.
144-
145-
### Umbrel
87+
#### **Option 2: Using Docker Compose**
14688

147-
> TODO.
89+
For a more structured deployment, use **Docker Compose**:
14890

149-
### StartOS
91+
1. **use `compose.yml`**
92+
use the exist compose file in the alienos directory
15093

151-
> TODO.
94+
2. **Run with Compose**
95+
```sh
96+
docker-compose up -d
97+
```
15298

15399
## Limitations
154100

docker-compose.yml

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,40 @@ version: '3.8'
22

33
services:
44
alienos:
5-
build: .
6-
env_file: .env
5+
container_name: alienos
6+
image: dezhtech/alienos:latest
7+
restart: unless-stopped
78
ports:
89
- "7771:7771"
10+
environment:
11+
ALIENOS_WORK_DIR: "alienos_wd/"
12+
ALIENOS_RELAY_NAME: "Alienos"
13+
ALIENOS_RELAY_ICON: "https://nostr.download/6695de4b095cd99ee7b4f6e2ef9ff89a9029efc1a017e60b8b5b5cb446b2c1e0.webp"
14+
ALIENOS_RELAY_BANNER: "https://nostr.download/5b3fa3e40365061d58946fdb1bc6549a4675186591f9f589f9983895bfac8940.webp"
15+
ALIENOS_RELAY_DESCRIPTION: "A self-hosting Nostr stack!"
16+
ALIENOS_RELAY_PUBKEY: "badbdda507572b397852048ea74f2ef3ad92b1aac07c3d4e1dec174e8cdc962a"
17+
ALIENOS_RELAY_CONTACT: "hi@dezh.tech"
18+
ALIENOS_RELAY_SELF: "b80a9c92d74c5d8067cc7b39e93999ce1c69cd44fa66f46387b863f3a6dc25e0"
19+
ALIENOS_RELAY_PORT: 7771
20+
ALIENOS_RELAY_BIND: "0.0.0.0"
21+
ALIENOS_RELAY_URL: "nostr.kehiy.net"
22+
ALIENOS_BACKUP_ENABLE: "false"
23+
ALIENOS_BACKUP_INTERVAL_HOURS: 24
24+
ALIENOS_S3_ACCESS_KEY_ID: ""
25+
ALIENOS_S3_SECRET_KEY: ""
26+
ALIENOS_S3_ENDPOINT: ""
27+
ALIENOS_S3_REGION: ""
28+
ALIENOS_S3_BUCKET_NAME: "alienos-relay-backups"
29+
ALIENOS_S3_AS_BLOSSOM_STORAGE: false
30+
ALIENOS_S3_BLOSSOM_BUCKET: "alienos-blossom"
31+
ALIENOS_PUBKEY_WHITE_LISTED: "false"
32+
ALIENOS_KIND_WHITE_LISTED: "false"
33+
ALIENOS_ADMINS: "badbdda507572b397852048ea74f2ef3ad92b1aac07c3d4e1dec174e8cdc962a"
34+
35+
volumes:
36+
- alienos_data:/app/alienos_wd/
37+
networks:
38+
- alienos_network
39+
40+
volumes:
41+
alienos_data:

version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import "fmt"
66
// see: http://semver.org
77
var (
88
major = 1
9-
minor = 1
9+
minor = 2
1010
patch = 0
1111
meta = ""
1212
)

0 commit comments

Comments
 (0)