docs: format Portal Hosting instructions in README for better readability
rabbitprincess committed
Nov 8, 2025 at 10:36 UTC
7765177a6f7f77f4214021ab55af8536903539c5
1 file changed
+22
-16
README.md
+22
-16
@@ -33,22 +33,28 @@ This enables developers to publish local services globally without managing serv
33
You can run **Portal** to host relay services, or run **App** to publish your own application through portal.
34
35
### Portal Hosting
36
-Run Portal with Docker Compose.
37
-
38
-1. Copy env file
39
- - `cp .env.example .env`
40
-2. Start services
41
- - `docker compose up`
42
-3. Open in browser
43
- - `http://localhost:4017`
44
-4. Domain setup (optional)
45
- - Point DNS to this server:
46
- - `A` record for `portal.example.com` → server IP
47
- - `A` (wildcard) for `*.example.com` (or `*.portal.example.com`) → server IP
48
- - Edit `.env` for your domain:
49
- - `PORTAL_UI_URL=https://portal.example.com`
50
- - `POSTAL_FRONTEND_URL=https://*.example.com`
51
- - `BOOTSTRAP_URIS=wss://portal.example.com/relay`
36
+Run Portal with Docker Compose:
37
+
38
+```bash
39
+# 1. Copy environment file
40
+cp .env.example .env
41
+
42
+# 2. Start services
43
+docker compose up
44
+
45
+# 3. Open in browser (default web interface)
46
+http://localhost:4017
47
+
48
+# 4. Domain setup (optional)
49
+# Point DNS to this server:
50
+# A record for portal.example.com → server IP
51
+# A (wildcard) for *.example.com (or *.portal.example.com) → server IP
52
+#
53
+# Then edit .env for your domain:
54
+PORTAL_UI_URL=https://portal.example.com
55
+POSTAL_FRONTEND_URL=https://*.example.com
56
+BOOTSTRAP_URIS=wss://portal.example.com/relay
57
+```
58
59
### App Publishing
60
See [portal-toys](https://github.com/gosuda/portal-toys)