You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
47 lines
1.5 KiB
#!/bin/sh
|
|
|
|
# Entrypoint script for the Analytics service in compose.yml
|
|
## This script configures the environment for the Analytics service to use Tinybird local.
|
|
## It depends on the `tb-cli` service, which creates the `.env` file, which is mounted
|
|
## into the Analytics service container at `/app/.env`.
|
|
|
|
# Note: the analytics service's container is based on alpine, hence `sh` instead of `bash`.
|
|
set -eu
|
|
|
|
# Initialize child process variable
|
|
child=""
|
|
|
|
# Handle shutdown signals gracefully.
|
|
_term() {
|
|
echo "Caught SIGTERM/SIGINT signal, shutting down gracefully..."
|
|
if [ -n "$child" ]; then
|
|
kill -TERM "$child" 2>/dev/null || true
|
|
wait "$child" 2>/dev/null || true
|
|
fi
|
|
exit 0
|
|
}
|
|
|
|
# Set up signal handlers (POSIX-compliant signal names)
|
|
trap _term TERM INT
|
|
|
|
# Set the TINYBIRD_TRACKER_TOKEN environment variable from the .env file
|
|
# This file is created by the `tb-cli` service and mounted into the Analytics service container
|
|
if [ -f /mnt/shared-config/.env.tinybird ]; then
|
|
. /mnt/shared-config/.env.tinybird
|
|
if [ -n "${TINYBIRD_TRACKER_TOKEN:-}" ]; then
|
|
export TINYBIRD_TRACKER_TOKEN="$TINYBIRD_TRACKER_TOKEN"
|
|
echo "Tinybird tracker token configured successfully"
|
|
else
|
|
echo "WARNING: TINYBIRD_TRACKER_TOKEN not found in /mnt/shared-config/.env.tinybird" >&2
|
|
fi
|
|
else
|
|
echo "WARNING: /mnt/shared-config/.env.tinybird file not found - Tinybird tracking may not work" >&2
|
|
fi
|
|
|
|
# Start the process in the background
|
|
"$@" &
|
|
child=$!
|
|
|
|
# Wait for the child process
|
|
wait "$child"
|