Files

27 lines
957 B
Bash

#!/bin/bash
set -euo pipefail
CONTAINER_NAME="${CONTAINER_NAME:-iotlcm-worker-svr}"
IMAGE="${IMAGE:-your-registry/iotlcm/iotlcm-worker-svr:latest}"
LOG_DIR="${LOG_DIR:-/data/app/iotlcm-worker-svr/logs}"
FULL_SYNC_ARCHIVE_DIR="${FULL_SYNC_ARCHIVE_DIR:-/data/logs/iotlcm-worker-svr/full-sync}"
# Must match the Admin service upload mount, otherwise Worker cannot read
# Admin-created local OSS files such as async inbound Excel sources.
UPLOAD_DIR="${UPLOAD_DIR:-/data/app/iotlcmadmin-web-svc/upload}"
mkdir -p "${LOG_DIR}" "${FULL_SYNC_ARCHIVE_DIR}" "${UPLOAD_DIR}"
if docker ps -a --format '{{.Names}}' | grep -qx "${CONTAINER_NAME}"; then
docker stop "${CONTAINER_NAME}" >/dev/null 2>&1 || true
docker rm "${CONTAINER_NAME}" >/dev/null
fi
docker run -d \
--name "${CONTAINER_NAME}" \
--restart unless-stopped \
-v "${LOG_DIR}:/app/logs" \
-v "${FULL_SYNC_ARCHIVE_DIR}:/app/logs/full-sync" \
-v "${UPLOAD_DIR}:/app/upload" \
"${IMAGE}"