Troubleshooting
Failures from bringing this Compose lab up.
On this page
- SSM RunShellScript is dash
- Compose Bake: image already exists
- scautopick exits, empty stations
- fdsnws: No module named twisted
- scqc exits 0 immediately
- Schema load: table already exists
- Localhost binds vs Compose DNS
- seedlink is stateful
- gsm and apt prompt
- seiscomp as root
- xrdp drops after password
- notify-send does nothing
- No outbound internet
SSM RunShellScript is dash
AWS-RunShellScript is sh (dash on Ubuntu), not bash. lab-sync.sh sends a bash shebang script as the command body. Prefer aws ssm start-session for interactive work.
Compose Bake: image already exists
docker compose build of scmaster and gui together can fail with Bake. lab-sync.sh sets COMPOSE_BAKE=false and builds scmaster then gui.
scautopick exits, empty stations
Processors load inventory from MariaDB, not etc/inventory in their own container. import_inv only writes files in seedlink. Seedlink must run seiscomp update-config inventory and wait for four Station rows before it is healthy.
Bindings need config/key/scautopick/profile_default or scautopick:default is empty.
fdsnws: No module named twisted
The base image must source install-fdsnws.sh (apt wrapped to apt-get install -y). Rebuild seiscomp-base after that Dockerfile change.
scqc exits 0 immediately
Without --console 1 the module daemonizes and Compose sees PID 1 exit. All processors pass --console 1. With zero streams (no inventory) scqc still finishes acquisition and exits; fix inventory first.
Schema load: table already exists
scmaster and seedlink both used to load mysql.sql. The entrypoint waits until the catalog has enough tables if a parallel load raced.
Localhost binds vs Compose DNS
Binding scmaster, MariaDB, or fdsnws to 127.0.0.1 fails across containers. Use service names and 0.0.0.0 on the compose network. Do not publish 18000 / 18180 / 3306 / 8080 on the security group.
seedlink is stateful
Do not seiscomp exec seedlink. Run $SEISCOMP_ROOT/sbin/seedlink -f var/lib/seedlink/seedlink.ini. Named volume seedlink_data. slarchive is a separate service and a separate filesystem except the SDS volume.
gsm and apt prompt
gsm install without -y waits. install-*.sh calls apt without -y. The Dockerfile wraps those scripts.
seiscomp as root
seiscomp refuses root unless --asroot. Image user is sysop. The entrypoint re-execs as sysop when Compose sets user: "0:0" for volume permissions.
xrdp drops after password
Globals port=3389 is the listen port. [Xorg] must stay port=-1. Do not sed every port= in xrdp.ini.
notify-send does nothing
Use /home/sysop/bin/sc-toast-event (gdbus to xfce4-notifyd). It no-ops if notifyd is not running (no RDP session).
No outbound internet
The instance needs a public IPv4 for apt, gsm, and outbound TCP 18000 to GEOFON. There is no NAT.