#!/bin/bash # OpenClimb Sync Server Runner set -e # Default values AUTH_TOKEN=${AUTH_TOKEN:-} PORT=${PORT:-8080} DATA_FILE=${DATA_FILE:-./data/climb_data.json} # Check if AUTH_TOKEN is set if [ -z "$AUTH_TOKEN" ]; then echo "Error: AUTH_TOKEN environment variable must be set" echo "Usage: AUTH_TOKEN=your-secret-token ./run.sh" echo "Or: export AUTH_TOKEN=your-secret-token && ./run.sh" exit 1 fi # Create data directory if it doesn't exist mkdir -p "$(dirname "$DATA_FILE")" # Build and run echo "Building OpenClimb sync server..." go build -o sync-server . echo "Starting server on port $PORT" echo "Data will be stored in: $DATA_FILE" echo "Images will be stored in: ${IMAGES_DIR:-./data/images}" echo "Use Authorization: Bearer $AUTH_TOKEN in your requests" echo "" exec ./sync-server