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
+12-10Lines changed: 12 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,11 +5,11 @@ For more information on what Starlink is, see [starlink.com](https://www.starlin
5
5
6
6
## Prerequisites / Installation
7
7
8
-
Most of the scripts here are [Python](https://www.python.org/) scripts. To use them, you will either need Python installed on your system or you can use the Docker image. If you use the Docker image, you can skip the rest of the prerequisites other than making sure the dish IP is reachable and Docker itself. For Linux systems, the python package from your distribution should be fine, as long as it is Python 3, version 3.7 or later.
8
+
Most of the scripts here are [Python](https://www.python.org/) scripts. To use them, you will either need Python installed on your system or you can use the Docker image. If you use the Docker image, you can skip the rest of the prerequisites other than making sure the dish IP is reachable and Docker (or Podman) itself. For Linux systems, the python package from your distribution should be fine, as long as it is Python 3, version 3.7 or later.
9
9
10
10
All the tools that pull data from the dish expect to be able to reach it at the dish's fixed IP address of 192.168.100.1, as do the Starlink [Android app](https://play.google.com/store/apps/details?id=com.starlink.mobile), [iOS app](https://apps.apple.com/us/app/starlink/id1537177988), and the browser app you can run directly from http://192.168.100.1. When using a router other than the one included with the Starlink installation kit, this usually requires some additional router configuration to make it work. That configuration is beyond the scope of this document, but if the Starlink app doesn't work on your home network, then neither will these scripts. That being said, you do not need the Starlink app installed to make use of these scripts. See [here](https://github.com/starlink-community/knowledge-base/wiki#using-your-own-router) for more detail on this.
11
11
12
-
Running the scripts within a [Docker](https://www.docker.com/) container requires Docker to be installed. Information about how to install that can be found at https://docs.docker.com/engine/install/. See below for how to pull the starlink-grpc-tools container image.
12
+
Running the scripts within a [Docker](https://www.docker.com/) container requires either Docker to be installed, or some alternative that can run Docker containers, such as [Podman](https://podman.io/). Information about how to install Docker can be found at https://docs.docker.com/engine/install/. Information about how to install Podman can be found at https://podman.io/get-started. See below for how to get the starlink-grpc-tools container image.
@@ -161,10 +161,12 @@ Possibly more simple examples to come, as the other scripts have started getting
161
161
162
162
`extract_protoset.py` can be used in place of `grpcurl` for recording the dish protocol information. See [the related Wiki article](https://github.com/sparky8512/starlink-grpc-tools/wiki/gRPC-Protocol-Modules) for more details.
163
163
164
-
## Running with Docker
164
+
## Running with Docker (or Podman)
165
165
166
166
The supported docker image for this project is the one hosted in the [GitHub Packages repository](https://github.com/sparky8512/starlink-grpc-tools/pkgs/container/starlink-grpc-tools). This is a multi-arch image built for `linux/amd64` (x64_64) and `linux/arm64` (aarch64) docker platforms.
167
167
168
+
The commands listed in this section assume you are using Docker. If you are using Podman instead, replace `docker` in the commands below with `podman`.
169
+
168
170
You can get the "latest" image with the following command:
-e INFLUXDB_DB={Pre-created DB name, starlinkstats works well} \
191
193
ghcr.io/sparky8512/starlink-grpc-tools
192
194
```
195
+
Note that for legacy reasons, this default command uses the InfluxDB 1.x client, and most people using InfluxDB will probably want the InfluxDB 2.x client.
193
196
194
-
When running in the background, you will probably want to specify a `-t` script option, to run in a loop, otherwise it will exit right away and leave an inactive container. For example:
197
+
Also, when running in the background, you will probably want to specify a `-t` script option, to run in a loop, otherwise it will exit right away and leave an inactive container. For example (using InfluxDB 2.x client):
195
198
```shell script
196
-
docker run -d -t --name=starlink-grpc-tools -e INFLUXDB_HOST={InfluxDB Hostname} \
197
-
-e INFLUXDB_PORT={Port, 8086 usually} \
198
-
-e INFLUXDB_USER={Optional, InfluxDB Username} \
199
-
-e INFLUXDB_PWD={Optional, InfluxDB Password} \
200
-
-e INFLUXDB_DB={Pre-created DB name, starlinkstats works well} \
201
-
ghcr.io/sparky8512/starlink-grpc-tools -v -t 60 status alert_detail
199
+
docker run -d -t --name=starlink-grpc-tools -e INFLUXDB_URL={URL of InfluxDB server} \
200
+
-e INFLUXDB_TOKEN={InfluxDB token value, if applicable} \
201
+
-e INFLUXDB_Bucket={InfluxDB bucket name defined in the DB} \
202
+
-e INFLUXDB_ORG={Organisation name defined in the DB} \
203
+
ghcr.io/sparky8512/starlink-grpc-tools dish_grpc_influx2.py -v -t 60 status alert_detail
202
204
```
203
205
The `-t` option to `docker run` will prevent Python from buffering the script's standard output and can be omitted if you don't care about seeing the verbose output in the container logs as soon as it is printed.
0 commit comments