57 lines
2.1 KiB
Bash
Executable File
57 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
echo "⚙️ Setting up Slack to ntfy middleware..."
|
|
|
|
# Check if Docker is installed
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "❌ Docker is not installed. Please install Docker first."
|
|
exit 1
|
|
fi
|
|
|
|
# Check if Docker Compose is available
|
|
if ! docker compose version &> /dev/null; then
|
|
echo "❌ Docker Compose is not available. Please install Docker Compose."
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Docker and Docker Compose are available"
|
|
|
|
# Prompt for configuration
|
|
echo
|
|
echo "📝 Please provide your ntfy server configuration:"
|
|
read -p "ntfy server URL (e.g., https://ntfy.example.com): " NTFY_URL
|
|
read -p "Bearer token (e.g., tk_xxxxx) [optional]: " NTFY_TOKEN
|
|
read -p "ntfy username (for basic auth) [optional]: " NTFY_USERNAME
|
|
read -p "ntfy password (for basic auth) [optional]: " NTFY_PASSWORD
|
|
|
|
# Update docker-compose.yml
|
|
if [ ! -z "$NTFY_URL" ]; then
|
|
sed -i '' "s|https://your-ntfy-server.com|$NTFY_URL|g" docker-compose.yml
|
|
fi
|
|
|
|
# Reset all auth lines to commented placeholders first to ensure a clean state
|
|
sed -i '' "s|^ - NTFY_TOKEN=.*| # - NTFY_TOKEN=tk_your_bearer_token_here|" docker-compose.yml
|
|
sed -i '' "s|^ - NTFY_USERNAME=.*| # - NTFY_USERNAME=your_username|" docker-compose.yml
|
|
sed -i '' "s|^ - NTFY_PASSWORD=.*| # - NTFY_PASSWORD=your_password|" docker-compose.yml
|
|
|
|
if [ ! -z "$NTFY_TOKEN" ]; then
|
|
sed -i '' "s|^ # - NTFY_TOKEN=tk_your_bearer_token_here| - NTFY_TOKEN=$NTFY_TOKEN|" docker-compose.yml
|
|
elif [ ! -z "$NTFY_USERNAME" ] && [ ! -z "$NTFY_PASSWORD" ]; then
|
|
sed -i '' "s|^ # - NTFY_USERNAME=your_username| - NTFY_USERNAME=$NTFY_USERNAME|" docker-compose.yml
|
|
sed -i '' "s|^ # - NTFY_PASSWORD=your_password| - NTFY_PASSWORD=$NTFY_PASSWORD|" docker-compose.yml
|
|
fi
|
|
|
|
echo "✅ Configuration updated in docker-compose.yml"
|
|
|
|
# Build and start
|
|
echo "🐳 Building and starting the service..."
|
|
docker compose up -d --build
|
|
|
|
echo "✅ Service is starting up..."
|
|
echo
|
|
echo "Next steps:"
|
|
echo "1. Test the service: ./scripts/test.sh"
|
|
echo "2. Check logs: docker compose logs -f"
|
|
echo "3. Configure Slack webhook URL: https://your-server-ip:8080/your-topic-name"
|