mass refactor
This commit is contained in:
81
bin/setup.sh
Normal file
81
bin/setup.sh
Normal file
@@ -0,0 +1,81 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Telegram Tinder Bot Setup Script
|
||||
|
||||
echo "🚀 Setting up Telegram Tinder Bot..."
|
||||
|
||||
# Check if Node.js is installed
|
||||
if ! command -v node &> /dev/null; then
|
||||
echo "❌ Node.js is not installed. Please install Node.js 16 or higher."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if PostgreSQL is installed
|
||||
if ! command -v psql &> /dev/null; then
|
||||
echo "⚠️ PostgreSQL is not installed. You can install it or use Docker."
|
||||
read -p "Do you want to use Docker for PostgreSQL? (y/n): " use_docker
|
||||
if [[ $use_docker =~ ^[Yy]$ ]]; then
|
||||
echo "📦 Using Docker for PostgreSQL..."
|
||||
DOCKER_MODE=true
|
||||
else
|
||||
echo "❌ Please install PostgreSQL manually."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Install dependencies
|
||||
echo "📦 Installing dependencies..."
|
||||
npm install
|
||||
|
||||
# Check if .env file exists
|
||||
if [ ! -f .env ]; then
|
||||
echo "📄 Creating .env file from template..."
|
||||
cp .env.example .env
|
||||
echo "✅ .env file created. Please edit it with your configuration."
|
||||
else
|
||||
echo "✅ .env file already exists."
|
||||
fi
|
||||
|
||||
# Build the project
|
||||
echo "🔨 Building the project..."
|
||||
npm run build
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Project built successfully!"
|
||||
else
|
||||
echo "❌ Build failed. Please check the errors above."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create necessary directories
|
||||
echo "📁 Creating directories..."
|
||||
mkdir -p logs uploads
|
||||
|
||||
if [ "$DOCKER_MODE" = true ]; then
|
||||
echo "🐳 Starting database with Docker..."
|
||||
docker-compose up -d db
|
||||
echo "⏳ Waiting for database to be ready..."
|
||||
sleep 10
|
||||
|
||||
echo "🗄️ Initializing database..."
|
||||
docker-compose exec db psql -U postgres -d telegram_tinder_bot -f /docker-entrypoint-initdb.d/init.sql
|
||||
else
|
||||
echo "🗄️ Setting up database..."
|
||||
echo "Please run the following commands to set up your database:"
|
||||
echo "1. Create database: createdb telegram_tinder_bot"
|
||||
echo "2. Run migrations: psql -d telegram_tinder_bot -f src/database/migrations/init.sql"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "🎉 Setup completed!"
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo "1. Edit .env file with your Telegram Bot Token and database credentials"
|
||||
echo "2. Get your bot token from @BotFather on Telegram"
|
||||
echo "3. Configure your database connection"
|
||||
echo "4. Run 'npm start' to start the bot"
|
||||
echo ""
|
||||
echo "For development: npm run dev"
|
||||
echo "For production: npm run start:prod"
|
||||
echo ""
|
||||
echo "📚 Check README.md for detailed instructions."
|
||||
Reference in New Issue
Block a user