# Astroport.ONE — L'Internet de Confiance

[FR](https://astroport-1.gitbook.io/astroport.one/readme.fr) · [ES](https://astroport-1.gitbook.io/astroport.one/readme.es) · [GitBook](https://astroport-1.gitbook.io/astroport.one/)

> **The internet was built to liberate. Instead, we became its product.** Astroport.ONE is a declaration of digital independence — an open-source suite that transforms users from digital tenants into sovereign co-owners of their infrastructure.

[![Stargazers](https://starchart.cc/papiche/Astroport.ONE.svg)](https://starchart.cc/papiche/Astroport.ONE)

***

## 🎮 The Initiation Journey: From Curious to Captain

Astroport.ONE is not just software — it's a **gamified initiation path** from digital consumer to cooperative co-owner.

```
Day 0: You discover UPlanet ORIGIN (sandbox)
       ↓ Install in one command — zero configuration
Day 1–7: You receive daily ZINEs (digital tutorials)
       ↓ Learn yt-dlp archiving, #BRO AI, Nostr, Ẑen economy
Day 7: The DRAGON Call — join the certified network
       ↓ Validate your training → receive your swarm.key
       ↓ UPlanet ORIGIN  →  UPlanet ẐEN
```

The system **sends you daily coaching emails automatically** — each ZINE tailored to your role (Explorer, ZENCard subscriber, Captain, U.SOCIETY member).

***

## 🌍 Two Worlds: ORIGIN vs ẐEN

|                    | **UPlanet ORIGIN**              | **UPlanet ẐEN**                            |
| ------------------ | ------------------------------- | ------------------------------------------ |
| **Vocation**       | Academy · Sandbox · Discovery   | Production · Real Economy                  |
| **Access**         | Open to all (swarm.key = zeros) | Certified members only (private swarm.key) |
| **Value of Ẑen**   | 1 Ẑ = 0.1 Ğ1 (play economy)     | **1 Ẑ = 1 €** (real cooperative unit)      |
| **IPFS swarm**     | Public, open                    | Private, encrypted constellation           |
| **Identity**       | Basic MULTIPASS                 | Validated uPASSPORT + DID W3C              |
| **Who manages it** | The G1FabLab collective         | **You** — as Captain                       |

The transition from ORIGIN to ẐEN is the **DRAGON Certification** — a cybersecurity + cryptography training that earns you the `swarm.key` to join the private constellation.

***

## 👥 The 4 Roles of the Constellation

### 🧱 Armateur (Host) — 14 Ẑen/week

You provide the **machine** (the ship). The collective manages it in ORIGIN mode while you learn.

* Install Astroport.ONE on any Linux PC or Raspberry Pi
* Your station appears on the UPlanet swarm map
* **Earn 14 Ẑen/week** as infrastructure host
* Subscribe: [OpenCollective — Parrainage Satellite](https://opencollective.com/monnaie-libre/contribute/parrainage-infrastructure-extension-128-go-98386)

### 🎓 Apprenti (Explorer)

You create your **MULTIPASS** on an ORIGIN station and discover the tools over 7 days.

* **Day 1**: Archive YouTube → your private uDRIVE (yt-dlp + Open-With Firefox)
* **Day 2**: #BRO Swarm AI — local Ollama, image generation, article writing
* **Day 7**: The DRAGON Call — your invitation to the ẐEN network

### ⚓ Capitaine (Captain) — 28 Ẑen/week

You **operate the station**, master the tools, and welcome new users.

* Pass the **DRAGON Formation** (cybersecurity + cryptography) → receive your `swarm.key`
* Connect your station to the private ẐEN constellation
* Host MULTIPASS users (1 Ẑ/week each) and ZENCard subscribers (4 Ẑ/week each)
* **Earn 2× PAF** = 28 Ẑen/week default

> Contact: <support@qo-op.com> — Subject: "Candidature Capitaine DRAGON"

### 🐉 U.SOCIETY / DRAGON (Cooperative Member)

You are the **backbone of the constellation** — a certified Dragon, governance participant, and permanent member.

* **No weekly rental** — your annual sponsorship covers your access
* `swarm.key` to the private ẐEN IPFS swarm
* **NextCloud 128 Go** included
* Voting rights in CopyLaRadio SCIC cooperative decisions
* Priority access to #BRO Swarm AI (GPU shared across the constellation)
* Sponsorship: [OpenCollective — Constellation GPU](https://opencollective.com/monnaie-libre/contribute/parrainage-infrastructure-module-gpu-1-24-98385)

***

## ☁️ The ZENCard: De-Google Your Life

The **ZENCard** (5 Ẑen/week) is your sovereign cloud subscription, guided by a **7-day onboarding program**:

| Day | Tutorial                                                        |
| --- | --------------------------------------------------------------- |
| 0   | NextCloud AIO activated — connect <https://cloud.YOUR\\_DOMAIN> |
| 1   | Auto photo sync (Android + iPhone → your private capsule)       |
| 2   | Contacts & Calendar migration from Google via DAVx⁵             |
| 4   | F-Droid + Aurora Store — apps without tracking                  |
| 5   | Organic Maps (offline GPS) + Scrambled Exif (photo privacy)     |
| 7   | 🎉 Liberation complete → invitation to U.SOCIETY                |

**Included services:**

* ✅ **NextCloud 128 Go** (private cloud, no GAFAM)
* ✅ **NOSTR Identity** (decentralized social without algorithm)
* ✅ **uDRIVE IPFS** (personal distributed storage)
* ✅ **Ẑen Wallet** (each like received = 1 Ẑen)
* ✅ **#BRO AI** (local swarm intelligence)

Guide: [pad.p2p.legal/Smartphone2NextCloud](https://pad.p2p.legal/Smartphone2NextCloud) · [CopyLaRadio Blog](https://www.copylaradio.com/blog/blog-1/post/le-pas-a-pas-qui-libere-du-grand-mechant-cloud-36)

***

## 🤖 #BRO: The Swarm Intelligence

**#BRO** (Brain Robot Online) is the **collective AI** of the Astroport constellation:

* 🧠 **Local & private**: runs on each station via Ollama (no data sent to OpenAI)
* 🎨 **Image generation** for your Nostr publications
* 📝 **Article writing** on your decentralized blog
* 🔍 **Semantic search** in your constellation
* 🌙 **Night work**: #BRO collects and analyzes while you sleep

Unlike ChatGPT, #BRO is a **swarm of intelligences** — each station contributes, the collective grows. The more Captains, the more powerful.

```bash
# From Nostr, any message tagged:
#BRO resume my constellation messages
#BRO create an image of: [description]
#BRO weekly report

# Local API (Ollama):
curl http://127.0.0.1:11434/api/generate -d '{"model":"gemma3","prompt":"Bonjour BRO"}'
```

***

## 🛠️ Installation

### Option A — Docker Webtop (recommended to try without modifying your system)

```bash
cd docker/
docker compose -f docker-compose.webtop.yml up -d
# → http://localhost:3000  (desktop in browser, Ubuntu XFCE + KasmVNC)
```

The webtop container runs `install.sh` automatically at first start (10–30 min). All profiles work (`nextcloud`, `ai-company`) because the Docker socket is shared with the host via sibling-container architecture.

### Option A2 — VirtualBox / Vagrant (isolated VM, all features)

```bash
# Prerequisites: VirtualBox + Vagrant installed on your machine
cd docker/
vagrant up                            # Standard install (ORIGIN mode)
PROFILE=nextcloud vagrant up          # + NextCloud AIO
PROFILE=ai-company vagrant up      # + AI Stack (Open WebUI)

vagrant ssh                           # Connect to the VM
vagrant halt                          # Stop the VM
```

A full **Ubuntu 22.04 VM** with Astroport.ONE pre-installed. All port forwarding is configured automatically. Recommended for:

* Testing before bare-metal install
* Development and debugging
* Running Astroport alongside your main OS

> 💡 **Networking tip**: Use `VM_NETWORK=bridge vagrant up` for full IPFS P2P discovery.

### Option B — Direct install (bare-metal Linux — Debian/Ubuntu/Mint)

```bash
bash <(curl -sL https://install.astroport.com)
```

### Installation Profiles

```bash
# Standard — IPFS + Nostr + UPassport + Astroport
bash install.sh

# + NextCloud AIO (private cloud 128 Go, ZENCard ready)
bash install.sh "" "" "" nextcloud

# + AI Swarm Stack (Ollama + Dify AI + OpenWebUI + Qdrant)
bash install.sh "" "" "" ai-company

# + rnostr dev (Rust relay, replace strfry — experimental)
bash install.sh "" "" "" dev
```

| Profile      | Description                                                              | Status            |
| ------------ | ------------------------------------------------------------------------ | ----------------- |
| `standard`   | IPFS · Nostr strfry · UPassport · GPG · gcli                             | ✅ Production      |
| `nextcloud`  | Standard + NextCloud AIO (128 Go cloud, BTRFS storage)                   | ✅ Stable          |
| `ai-company` | Standard + Dify AI + OpenWebUI + +Qdrant AI stack                        | ⚠️ Experimental   |
| `dev`        | Standard + rnostr Rust relay (migration from strfry writePolicy plugins) | 🔧 In development |

### After Installation: What's Running

```
http://localhost:12345   Astroport station map
http://localhost:54321   UPassport (MULTIPASS creation, ZENCard)
http://localhost:8080    IPFS Gateway
ws://localhost:7777      NOSTR strfry relay (NIP-101)
http://localhost:33101   G1Billet (service shut down TrocZen is the next G1BILLET)
http://localhost:81      Nginx Proxy Manager admin (NPM)
http://localhost:8443    NextCloud AIO setup (nextcloud profile)
http://localhost:11434   Ollama API (ai-company profile)
http://localhost:8010    Dify AI AI agents (ai-company)
```

### Verified Technologies

After installation, you can check:

```bash
# Infrastructure
docker ps --format "table {{.Names}}\t{{.Status}}"

# Runtime
node --version && npm --version
deno --version          # yt-dlp JavaScript runtime
tiddlywiki --version    # Personal wiki engine

# Crypto
ipfs swarm peers | wc -l   # IPFS connectivity
```

***

## 💾 Storage Architecture: BTRFS Recommended

For production stations, mount a **dedicated BTRFS disk** at `/nextcloud-data`:

```bash
# Format and mount
sudo mkfs.btrfs -L astrodata /dev/sdX
sudo mount -o compress=zstd,noatime /dev/sdX /nextcloud-data

# /etc/fstab (persistent)
UUID=$(blkid -s UUID -o value /dev/sdX)
echo "UUID=$UUID /nextcloud-data btrfs compress=zstd,noatime 0 0" | sudo tee -a /etc/fstab

# Migrate your data
~/.zen/Astroport.ONE/stop.sh
sudo mv ~/.zen /nextcloud-data/zen   && ln -s /nextcloud-data/zen ~/.zen
sudo mv ~/.ipfs /nextcloud-data/ipfs && ln -s /nextcloud-data/ipfs ~/.ipfs
~/.zen/Astroport.ONE/start.sh
```

Why BTRFS? **Copy-on-Write** = IPFS never rewrites blocks → perfect match. **Snapshots** for instant NextCloud backups. **zstd compression** \~25% space savings.

```
/nextcloud-data/
  zen/          ← ~/.zen symlink (Astroport data, TW, game, players)
  ipfs/         ← ~/.ipfs symlink (IPFS blocks, 50-500 Go)
  nextcloud/    ← NextCloud AIO volumes (user data 128 Go each)
```

***

## 💰 The Cooperative Economy: The 3×1/3 Model

Every Ẑen collected by the station is distributed **automatically and transparently** by the code:

```
Ẑen collected     →  1/3 Treasury (cooperative reserve)
(no human decision)   1/3 R&D (open-source development)
                      1/3 Common Assets (land, forests, infrastructure)
```

**Weekly payments** (automated by `PLAYER.refresh.sh` and `NOSTRCARD.refresh.sh`):

| Source           | Amount      | Recipient               |
| ---------------- | ----------- | ----------------------- |
| MULTIPASS rental | 1 Ẑen/week  | Captain's station       |
| ZENCard rental   | 4 Ẑen/week  | Captain's station       |
| Armateur PAF     | 14 Ẑen/week | Host (from cooperative) |
| Capitaine PAF    | 28 Ẑen/week | Certified Captain       |
| Like received    | 1 Ẑen/like  | Content creator         |

All transactions are visible on the **Ğ1 blockchain** (Duniter v1/v2s). Full transparency, no hidden business model.

> 📜 Legal framework: [LEGAL.md](https://astroport-1.gitbook.io/astroport.one/legal) — Constitution of the UPlanet Ecosystem

***

## 🌐 Technical Architecture

```
┌─────────────────────────────────────────────────────────┐
│                    UPlanet ẐEN Station                   │
│                                                          │
│  IPFS (Kubo)    ←→  Astroport.ONE  ←→  Nostr (strfry)  │
│     ↕                    ↕                   ↕          │
│  uDRIVE          TiddlyWiki (TW5)         NIP-101       │
│  (IPNS)         Personal wiki/blog     Write Policy     │
│                                         Bash plugins    │
│  NextCloud AIO  ←→  Nginx Proxy Mgr  ←→  UPassport     │
│  (128 Go/user)      (SSL auto)           (FastAPI)      │
│                                                          │
│  #BRO AI Stack (ai-company) :                        │
│  Ollama → LiteLLM → Dify AI → OpenWebUI → Qdrant       │
│                                                          │
│  Crypto: Ğ1 (Duniter v2s) · NOSTR (Ed25519) · IPFS     │
│  Identity: MULTIPASS = SSSS 2/3 + DID W3C               │
└─────────────────────────────────────────────────────────┘
```

**Key scripts** (the "heartbeat" of the station):

| Script                  | Role                                                | Frequency   |
| ----------------------- | --------------------------------------------------- | ----------- |
| `20h12.process.sh`      | Daily economic cycle (ZINEs, payments, IPNS)        | Daily 20h12 |
| `NOSTRCARD.refresh.sh`  | MULTIPASS update, IPNS publication, cookie scrapers | Daily       |
| `PLAYER.refresh.sh`     | ZENCard payments, ZINE dispatch, TiddlyWiki refresh | Daily       |
| `TW.refresh.sh`         | Personal wiki sync, N2 constellation                | Daily       |
| `NOSTR.UMAP.refresh.sh` | UMap geo-posts, N2 social graph                     | Daily       |
| `DRAGON_p2p_ssh.sh`     | P2P SSH tunnel discovery (swarm.key required)       | On start    |

***

## 🔧 For Developers: `dev` Profile and rnostr Migration

The `dev` profile is a **foundational project**: migrating the Nostr write-policy plugins from Bash to Rust.

**Current state (strfry Bash plugins):**

```
NIP-101/relay.writePolicy.plugin/all_but_blacklist.sh  ← main filter
NIP-101/relay.writePolicy.plugin/filter/1.sh           ← text events
NIP-101/relay.writePolicy.plugin/filter/9735.sh        ← Ẑen payments (zaps)
NIP-101/relay.writePolicy.plugin/filter/30023.sh       ← long-form articles
...
```

Each plugin receives Nostr events via stdin/stdout JSON, classifies users (`nobody` / `player` / `uplanet`), manages the blacklist and `amisOfAmis.txt`.

**Target (rnostr Rust):**

* Rewrite as rnostr `config.toml` rules + WASM plugins
* Performance ×10-100 vs bash
* Native Qdrant semantic integration
* LLM classification (local Ollama)

🐉 **Calling Rust/DRAGON developers** — contact: <support@qo-op.com> — Subject: `DRAGON rnostr migration`

**Also wanted:** Integration of the ai-company AI stack into the Astroport ecosystem:

* Automatic #BRO responses via OpenWebUI/Dify AI triggered by Nostr events
* Subject: `DRAGON ai-company` on Nostr or <support@qo-op.com>

**Tool: `code_assistant`** (local AI code review):

```bash
~/.zen/Astroport.ONE/code_assistant NOSTRCARD.refresh.sh --kvbasename refactor1
```

***

## 🖥️ Docker Webtop (VDI — Browser Desktop)

Try Astroport.ONE without modifying your system — full Ubuntu XFCE desktop in your browser via **KasmVNC**:

```bash
cd docker/
docker compose -f docker-compose.webtop.yml up -d
# → http://localhost:3000   (HTTP)
# → https://localhost:3001  (HTTPS — recommended)
```

**Features:**

* 🖥️ Full Ubuntu XFCE desktop accessible from any browser
* 🐳 Docker socket shared with host — all profiles work (`nextcloud`, `ai-company`)
* 📋 Bidirectional clipboard, WebRTC video, touch screen support
* 🏗️ Multi-arch: amd64, arm64, arm/v7 (Raspberry Pi, Mac M-series)
* 🔄 Maintained by [linuxserver.io](https://docs.linuxserver.io/images/docker-webtop/) — no custom build needed
* 🔒 Containers launched from webtop = **sibling containers** on host Docker (not DinD)

```bash
# UPlanet ẐEN mode (with swarm.key) + NextCloud:
ASTRO_DOMAIN=mydomain.com \
CAPTAIN_EMAIL=me@example.com \
INSTALL_PROFILE=nextcloud \
IPFS_SWARM_KEY=<64-char-hex> \
docker compose -f docker-compose.webtop.yml up -d
```

> 🔒 **Remote access**: use an SSH tunnel for security: `ssh -L 3000:localhost:3000 user@YOUR_SERVER_IP` → then open `http://localhost:3000`

***

## 📚 Documentation Index

| Document                                                                                                            | Content                                                                  |
| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| [ARCHITECTURE.md](https://astroport-1.gitbook.io/astroport.one/architecture)                                        | Complete technical overview, data flows, economic models                 |
| [LEGAL.md](https://astroport-1.gitbook.io/astroport.one/legal)                                                      | Constitution of the UPlanet Ecosystem · Cooperative governance           |
| [ANARCHITECTE.md](https://astroport-1.gitbook.io/astroport.one/anarchitecte)                                        | Philosophy · Vision · Digital sovereignty ↔ ecological regeneration      |
| [RUNTIME/ZEN.ECONOMY.readme.md](https://github.com/papiche/Astroport.ONE/blob/master/RUNTIME/ZEN.ECONOMY.readme.md) | 3×1/3 automated payments · TVA provisions · French cooperative law       |
| [UPLANET.official.README.md](https://astroport-1.gitbook.io/astroport.one/uplanet.official.readme)                  | Capital transfers management · Locataire/Sociétaire/Infrastructure       |
| [DID\_IMPLEMENTATION.md](https://github.com/papiche/Astroport.ONE/blob/master/DID_IMPLEMENTATION.md)                | W3C DID · SSSS 3/2 key management · twin keys multi-blockchain           |
| [docs/ORE\_SYSTEM.md](https://astroport-1.gitbook.io/astroport.one/docs/ore_system)                                 | Ecological obligations · Geographic DIDs · Environmental smart contracts |
| [docs/ORACLE\_SYSTEM.md](https://astroport-1.gitbook.io/astroport.one/docs/oracle_system)                           | WoT competency certifications · Verifiable Credentials · Nostr events    |
| [docs/README.NostrTube.md](https://astroport-1.gitbook.io/astroport.one/docs/readme.nostrtube)                      | Decentralized video platform · NOSTR + IPFS · Theater mode               |
| [IA/README.md](https://astroport-1.gitbook.io/astroport.one/ia)                                                     | #BRO AI Assistant · 12-slot memory · Generation capabilities             |
| [docs/COOKIE\_SYSTEM.md](https://astroport-1.gitbook.io/astroport.one/docs/cookie_system)                           | Universal cookie management · Authenticated web scraping                 |
| [BOOKS/Le Livre Blanc](https://github.com/papiche/Astroport.ONE/blob/master/BOOKS/README.md)                        | White paper: from digital sovereignty to ecological regeneration         |

***

## 🤝 Join the Constellation

**Ways to contribute:**

1. **🌱 Try it** — install ORIGIN mode in one command, no commitment
2. **☁️ Subscribe ZENCard** — de-google your life, support the cooperative
3. **⚓ Become Captain** — run a station, earn Ẑen, train new members
4. **🐉 Join U.SOCIETY** — annual sponsorship, governance rights, DRAGON access
5. **💻 Code** — Rust (rnostr), Python (AI), Bash — all welcome
6. **🌍 Spread the word** — Star the repo, share the ZINEs

**CopyLaRadio SCIC cooperative:**

* [OpenCollective](https://opencollective.com/monnaie-libre) — financial transparency
* <support@qo-op.com> — Captain training, U.SOCIETY
* [forum.monnaie-libre.fr](https://forum.monnaie-libre.fr) — community
* [copylaradio.com](https://www.copylaradio.com) — cooperative website
* [Ğ1 — Monnaie Libre](https://monnaie-libre.fr) — the free currency powering UPlanet

> **AGPL-3.0** — Free software, auditable code, no hidden business model. The code is the law. The cooperative is the structure. You are the network.

***

*Astroport.ONE — G1FabLab / CopyLaRadio SCIC —* [*github.com/papiche/Astroport.ONE*](https://github.com/papiche/Astroport.ONE)
