[Unit] Description=Date Integration test services Requires=docker.service After=docker.service network-online.target Wants=network-online.target [Service] Type=oneshot RemainAfterExit=yes WorkingDirectory=/opt/date-integration EnvironmentFile=/opt/date-integration/secrets.env ExecStartPre=/bin/bash -c 'for attempt in {1..10}; do /usr/local/bin/docker-compose --env-file /opt/date-integration/secrets.env -f /opt/date-integration/compose.yaml pull && exit 0; echo "Container image pull attempt $attempt failed; retrying." >&2; sleep 15; done; exit 1' ExecStart=/usr/local/bin/docker-compose --env-file /opt/date-integration/secrets.env -f /opt/date-integration/compose.yaml up -d --remove-orphans ExecStartPost=/usr/local/sbin/date-integration-seed ExecStop=/usr/local/bin/docker-compose --env-file /opt/date-integration/secrets.env -f /opt/date-integration/compose.yaml stop TimeoutStartSec=1800 TimeoutStopSec=180 [Install] WantedBy=multi-user.target