You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+22-27Lines changed: 22 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,14 +47,9 @@ Pick one hostname under your domain, for example `roborock.example.com`.
47
47
- Cloudflare is only used for DNS-01 certificate issuance. It does not need to proxy traffic to your server.
48
48
49
49
The vacuum needs to be able to hit your server on ports 443/tcp and 8883/tcp.
50
-
If you use iPhone MITM intercept, expose 8081/tcp for the mitmweb UI (logs + WireGuard QR).
51
-
When running in Docker, prefer the Admin "Open WireGuard Config (Docker-safe)" link over mitmweb's QR if the QR shows a container-only endpoint.
52
-
The Admin MITM panel also provides an "Open WireGuard QR" code generated from the Docker-safe config.
53
50
54
51
-`443/tcp` for HTTPS
55
52
-`8883/tcp` for MQTT over TLS
56
-
-`8081/tcp` for mitmweb (optional, MITM only, access by IP not hostname)
57
-
-`51820/udp` for WireGuard MITM tunnel traffic
58
53
59
54
## Project Layout
60
55
@@ -83,34 +78,33 @@ cd roborock_local_server
83
78
uv sync
84
79
```
85
80
86
-
3.Generate an admin password hash.
81
+
3.Run the setup wizard.
87
82
88
83
```bash
89
-
uv run roborock-local-server hash-password
84
+
uv run roborock-local-server configure
90
85
```
91
86
92
-
4. Generate an admin session secret.
87
+
The wizard asks only for:
93
88
94
-
```bash
95
-
uv run roborock-local-server generate-secret
96
-
```
89
+
- your `stack_fqdn`
90
+
- embedded MQTT or your own broker
91
+
- whether to use Cloudflare DNS-01 auto-renew
92
+
- your admin password
97
93
98
-
Both commands print a single value to your terminal and do not save it to a file for you.
94
+
It then writes `config.toml` for you, generates `admin.password_hash`, generates `admin.session_secret`, and if you chose Cloudflare it also writes `secrets/cloudflare_token`.
99
95
100
-
-`hash-password` prints the value you should paste into `admin.password_hash`
101
-
-`generate-secret` prints the value you should paste into `admin.session_secret`
102
-
- if you did not save the output earlier, just run the command again and use the new value
103
-
- if you change `session_secret` later, existing admin login sessions will be invalidated
96
+
4. If you chose external MQTT, fill in `broker.host` in `config.toml` before starting the stack.
104
97
105
-
5.Create the secrets folder and save your Cloudflare API token.
98
+
5.If you skipped Cloudflare, put your certificate files in `data/certs/fullchain.pem` and `data/certs/privkey.pem`.
- your `stack_fqdn` (this is your URL for your server. It MUST start with 'api-')
42
+
- embedded MQTT or your own broker
43
+
- whether to use Cloudflare DNS-01 auto-renew
44
+
- your admin password
45
+
46
+
It then writes `config.toml` for you, generates `admin.password_hash`, generates `admin.session_secret`, and if you chose Cloudflare it also writes `secrets/cloudflare_token`.
47
+
48
+
5. If you chose external MQTT, fill in `broker.host` in `config.toml` before starting the stack. See: [Custom MQTT](#Custom_mqtt)
49
+
50
+
6. If you skipped Cloudflare, put your certificate files in `data/certs/fullchain.pem` and `data/certs/privkey.pem`. See: [Custom cert](#custom_cert)
51
+
52
+
7. Decide on your url. it must start with 'api-'. Set the DNS record on your network to resolve your url to your server.
53
+
54
+
If your server is 'api-roborock.example.com', you should set the following DNS records to resolve to your server ip:
0 commit comments