Skip to content

Commit a6ce13d

Browse files
committed
Add comments about Podman to Docker instructions
Also, one of the commands in the Docker section was wrong, so correct that and make it a more useful example.
1 parent 1c5c431 commit a6ce13d

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

README.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ For more information on what Starlink is, see [starlink.com](https://www.starlin
55

66
## Prerequisites / Installation
77

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.
99

1010
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.
1111

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.
1313

1414
### Required Python modules (for non-Docker usage)
1515

@@ -161,10 +161,12 @@ Possibly more simple examples to come, as the other scripts have started getting
161161

162162
`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.
163163

164-
## Running with Docker
164+
## Running with Docker (or Podman)
165165

166166
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.
167167

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+
168170
You can get the "latest" image with the following command:
169171
```shell script
170172
docker pull ghcr.io/sparky8512/starlink-grpc-tools
@@ -190,15 +192,15 @@ docker run --name=starlink-grpc-tools -e INFLUXDB_HOST={InfluxDB Hostname} \
190192
-e INFLUXDB_DB={Pre-created DB name, starlinkstats works well} \
191193
ghcr.io/sparky8512/starlink-grpc-tools
192194
```
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.
193196

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):
195198
```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
202204
```
203205
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.
204206

0 commit comments

Comments
 (0)