34 lines
1.2 KiB
Desktop File
34 lines
1.2 KiB
Desktop File
[Unit]
|
|
Description=Stack ADS-B (readsb + tar1090 + adsb2pg)
|
|
Requires=docker.service
|
|
After=docker.service network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|
|
WorkingDirectory=/data/adsb
|
|
|
|
# Laisse le bus USB s'énumérer avant de détecter les dongles
|
|
ExecStartPre=/bin/sleep 15
|
|
|
|
# Recalcule .env.receivers (RX<n>_SERIAL + COMPOSE_PROFILES) depuis le
|
|
# matériel réellement présent. C'est ce qui rend le stack adaptatif :
|
|
# 1, 2 ou 3 dongles démarrent les profiles rx1..rx3 correspondants, et un
|
|
# dongle débranché ne laisse pas tourner un readsb à vide.
|
|
ExecStartPre=/data/adsb/scripts/gen_env.sh
|
|
|
|
# Les deux --env-file sont nécessaires :
|
|
# .env → PG_PASSWORD (secret, non versionné)
|
|
# .env.receivers → COMPOSE_PROFILES et RX<n>_SERIAL (généré)
|
|
# Dès qu'on passe --env-file, Compose cesse de charger .env automatiquement,
|
|
# d'où l'obligation de le déclarer explicitement lui aussi.
|
|
ExecStart=/usr/bin/docker compose --env-file /data/adsb/.env --env-file /data/adsb/.env.receivers up -d --remove-orphans
|
|
|
|
ExecStop=/usr/bin/docker compose --env-file /data/adsb/.env --env-file /data/adsb/.env.receivers down
|
|
|
|
TimeoutStartSec=180
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|