Docker image for slinktool, a command-line utility to query and retrieve seismic waveform data from SeedLink and FDSN data centers.
This repository contains a containerized version of the slinktool CLI tool. The image is built from source and published to GitHub Container Registry (GHCR) for easy deployment and use.
docker pull ghcr.io/platformfuzz/slinktool-image:latest
docker run --rm ghcr.io/platformfuzz/slinktool-image:latest -V# Check version
docker run --rm ghcr.io/platformfuzz/slinktool-image:latest -V
# 1) Does the server answer?
docker run --rm ghcr.io/platformfuzz/slinktool-image:latest \
-P rtserve.iris.washington.edu:18000
# 2) List stations available
docker run --rm ghcr.io/platformfuzz/slinktool-image:latest \
-L rtserve.iris.washington.edu:18000
# 3) Stream a few seconds live (prints packet info)
docker run --rm ghcr.io/platformfuzz/slinktool-image:latest \
-S IU_ANMO -s BHZ -nd 10 -p \
rtserve.iris.washington.edu:18000
# 4) Pull last 15 minutes (time-window; SeedLink v3+)
docker run --rm ghcr.io/platformfuzz/slinktool-image:latest \
-S IU_ANMO -s BHZ \
-tw $(date -u -d '15 minutes ago' +%Y,%m,%d,%H,%M,%S):$(date -u +%Y,%m,%d,%H,%M,%S) \
-p \
rtserve.iris.washington.edu:18000If the default host is unreachable from your network, try other public servers:
rtserve.resif.fr:18000(EPOS-France) - seismology.resif.frrtserver.ipgp.fr:18000(GEOSCOPE/IPGP) - geoscope.ipgp.fr
If you get "host not found/connection refused," it's usually DNS or outbound port 18000 blocked by a firewall. You can test reachability with:
nc -vz rtserve.iris.washington.edu 18000- Docker
# Clone the repository
git clone https://github.com/platformfuzz/slinktool-image.git
cd slinktool-image
# Build the image
docker build -t slinktool-image:local .
# Test the image
docker run --rm slinktool-image:local -VThis repository includes GitHub Actions workflows that:
-
CI Workflow (
.github/workflows/ci.yml):- Runs on pull requests
- Builds the Docker image
- Tests that slinktool is accessible
-
Build and Release Workflow (
.github/workflows/build-and-release.yml):- Runs on pushes to
mainbranch - Builds and pushes to
ghcr.io/platformfuzz/slinktool-image:latest - On version tags (e.g.,
v1.0.0), creates a tagged release - Supports semantic versioning with multiple tag patterns
- Runs on pushes to
Images are available at: ghcr.io/platformfuzz/slinktool-image
- Base Image: Alpine Linux (minimal size)
- Build Strategy: Multi-stage build for optimal image size
- Entrypoint:
slinktool - Source: Built from EarthScope/slinktool
slinktool-image/
├── Dockerfile # Multi-stage build definition
├── .github/
│ └── workflows/
│ ├── ci.yml # CI workflow for PRs
│ └── build-and-release.yml # CI/CD to build and push to GHCR
├── .dockerignore # Files to exclude from build context
└── README.md
MIT License - see LICENSE file for details.
- slinktool - Source repository for the slinktool CLI