diff --git a/scripts/setup-casaos.sh b/scripts/setup-casaos.sh new file mode 100755 index 0000000..ff9fbf0 --- /dev/null +++ b/scripts/setup-casaos.sh @@ -0,0 +1,81 @@ +#!/bin/bash +# CasaOS Setup Script for EuchreCamp +# Run this script to prepare EuchreCamp for CasaOS deployment + +set -e + +echo "==========================================" +echo "EuchreCamp CasaOS Setup Script" +echo "==========================================" +echo "" + +# Check if Docker is available +if ! command -v docker &> /dev/null; then + echo "❌ Docker is not installed or not in PATH" + echo "Please install Docker before continuing" + exit 1 +fi + +# Check if docker-compose is available +if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then + echo "❌ Docker Compose is not installed" + echo "Please install Docker Compose before continuing" + exit 1 +fi + +# Generate secrets if they don't exist +echo "Generating secrets..." +BETTER_AUTH_SECRET=$(openssl rand -base64 32 | tr -d '\n') +POSTGRES_PASSWORD=$(openssl rand -base64 16 | tr -d '\n') + +echo "✅ Generated BETTER_AUTH_SECRET: $BETTER_AUTH_SECRET" +echo "✅ Generated POSTGRES_PASSWORD: $POSTGRES_PASSWORD" +echo "" + +# Create .env file if it doesn't exist +if [ ! -f .env ]; then + echo "Creating .env file..." + cat > .env << EOF +# EuchreCamp Environment Configuration +# Generated by setup-casaos.sh + +# Database Configuration +DATABASE_PROVIDER=postgresql +DATABASE_URL=postgresql://euchre:${POSTGRES_PASSWORD}@postgres:5432/euchre_camp +DATABASE_SHADOW_URL=postgresql://euchre:${POSTGRES_PASSWORD}@postgres:5432/euchre_camp_shadow + +# Better Auth Configuration +BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET} +BETTER_AUTH_URL=http://localhost:3000 + +# Application Configuration +NODE_ENV=production + +# Trusted Origins (update with your CasaOS IP/hostname) +TRUSTED_ORIGINS=http://localhost:3000,http://127.0.0.1:3000 +EOF + echo "✅ Created .env file" +else + echo "⚠️ .env file already exists, skipping creation" +fi + +echo "" +echo "==========================================" +echo "Setup Complete!" +echo "==========================================" +echo "" +echo "Next steps for CasaOS deployment:" +echo "1. Build the Docker image:" +echo " docker-compose -f docker-compose.casaos.yml build" +echo "" +echo "2. Start the application:" +echo " docker-compose -f docker-compose.casaos.yml up -d" +echo "" +echo "3. Access the application at http://localhost:3000" +echo "" +echo "4. Create admin user:" +echo " docker exec -it euchre-camp node scripts/create-admin-via-api.js" +echo "" +echo "Important: Update BETTER_AUTH_URL and TRUSTED_ORIGINS in .env" +echo "with your CasaOS server's IP address or hostname!" +echo ""