This commit is contained in:
Iliyan Angelov
2025-09-14 23:24:25 +03:00
commit c67067a2a4
71311 changed files with 6800714 additions and 0 deletions

65
scripts/setup.sh Executable file
View File

@@ -0,0 +1,65 @@
#!/bin/bash
# GNX Mail Setup Script
echo "Setting up GNX Mail..."
# Check if Python 3.11+ is installed
python_version=$(python3 --version 2>&1 | awk '{print $2}' | cut -d. -f1,2)
required_version="3.11"
if [ "$(printf '%s\n' "$required_version" "$python_version" | sort -V | head -n1)" != "$required_version" ]; then
echo "Error: Python 3.11 or higher is required. Current version: $python_version"
exit 1
fi
# Create virtual environment
echo "Creating virtual environment..."
python3 -m venv venv
source venv/bin/activate
# Install Python dependencies
echo "Installing Python dependencies..."
pip install --upgrade pip
pip install -r requirements.txt
# Install Node.js dependencies for frontend
echo "Installing frontend dependencies..."
cd frontend
npm install
cd ..
# Create .env file if it doesn't exist
if [ ! -f .env ]; then
echo "Creating .env file..."
cp env.example .env
echo "Please edit .env file with your configuration before running the application."
fi
# Create necessary directories
echo "Creating directories..."
mkdir -p logs
mkdir -p media
mkdir -p staticfiles
# Run database migrations
echo "Running database migrations..."
python manage.py makemigrations
python manage.py migrate
# Create superuser
echo "Creating superuser..."
python manage.py createsuperuser
# Collect static files
echo "Collecting static files..."
python manage.py collectstatic --noinput
echo "Setup complete!"
echo ""
echo "To start the application:"
echo "1. Activate virtual environment: source venv/bin/activate"
echo "2. Start Django server: python manage.py runserver"
echo "3. Start Celery worker: celery -A gnxmail worker -l info"
echo "4. Start frontend: cd frontend && npm start"
echo ""
echo "Or use Docker: docker-compose up --build"