setup completed

This commit is contained in:
dimitar committed 2026-02-03 17:45:38 +01:00
1 parent acfbc80d1a
commit 7d3bc2a014
14 files changed
+29514 -24

No files matched your search

+24
View File
@@ -0,0 +1,24 @@
#!/bin/bash
# Database Backup Script
# Backs up PostgreSQL databases from Docker container
set -e
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="./backups"
mkdir -p "$BACKUP_DIR"
echo "📦 Backing up PostgreSQL databases..."
# Backup backend database
echo "Backing up placebo_backend_db..."
docker exec placebo-postgres-dev pg_dump -U placebo_user -d placebo_backend_db > "$BACKUP_DIR/backend_db_$TIMESTAMP.sql"
# Backup CMS database
echo "Backing up placebo_cms_db..."
docker exec placebo-postgres-dev pg_dump -U placebo_user -d placebo_cms_db > "$BACKUP_DIR/cms_db_$TIMESTAMP.sql"
echo "✅ Backups created in $BACKUP_DIR/"
echo "Backend: backend_db_$TIMESTAMP.sql"
echo "CMS: cms_db_$TIMESTAMP.sql"
+41
View File
@@ -0,0 +1,41 @@
#!/bin/bash
# Database Reset Script
# Resets PostgreSQL databases to initial state
set -e
echo "⚠️ WARNING: This will reset ALL databases!"
read -p "Are you sure? (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "Cancelled."
exit 1
fi
echo "🔄 Resetting PostgreSQL databases..."
# Stop backend and CMS to avoid connection issues
echo "Stopping backend and CMS containers..."
docker stop placebo-backend-dev placebo-cms-dev 2>/dev/null || true
# Drop and recreate databases
echo "Resetting databases..."
docker exec placebo-postgres-dev psql -U placebo_user -c "DROP DATABASE IF EXISTS placebo_backend_db;" postgres
docker exec placebo-postgres-dev psql -U placebo_user -c "DROP DATABASE IF EXISTS placebo_cms_db;" postgres
docker exec placebo-postgres-dev psql -U placebo_user -c "CREATE DATABASE placebo_backend_db;" postgres
docker exec placebo-postgres-dev psql -U placebo_user -c "CREATE DATABASE placebo_cms_db;" postgres
# Run initialization script
echo "Running initialization script..."
docker exec placebo-postgres-dev psql -U placebo_user -f /docker-entrypoint-initdb.d/init-postgres-dev.sql postgres
# Restart containers
echo "Restarting containers..."
docker start placebo-backend-dev placebo-cms-dev 2>/dev/null || true
echo "✅ Databases reset successfully!"
echo ""
echo "Note: Backend and CMS will need to restart their services."
echo "For backend: docker restart placebo-backend-dev"
echo "For CMS: docker restart placebo-cms-dev"
+34
View File
@@ -0,0 +1,34 @@
#!/bin/bash
# Database Restore Script
# Restores PostgreSQL databases from backup
set -e
if [ $# -eq 0 ]; then
echo "Usage: $0 <backup_file> [database_name]"
echo "Example: $0 backups/backend_db_20250101_120000.sql"
echo "Example: $0 backups/backend_db_20250101_120000.sql placebo_backend_db"
exit 1
fi
BACKUP_FILE="$1"
DATABASE="${2:-placebo_backend_db}"
if [ ! -f "$BACKUP_FILE" ]; then
echo "❌ Backup file not found: $BACKUP_FILE"
exit 1
fi
echo "🔄 Restoring database $DATABASE from $BACKUP_FILE..."
# Drop and recreate database
echo "Recreating database..."
docker exec placebo-postgres-dev psql -U placebo_user -c "DROP DATABASE IF EXISTS $DATABASE;" postgres
docker exec placebo-postgres-dev psql -U placebo_user -c "CREATE DATABASE $DATABASE;" postgres
# Restore from backup
echo "Restoring data..."
docker exec -i placebo-postgres-dev psql -U placebo_user -d "$DATABASE" < "$BACKUP_FILE"
echo "✅ Database $DATABASE restored successfully!"
+83
View File
@@ -0,0 +1,83 @@
#!/bin/bash
# Placebo.mk Setup Script
# This script sets up the development environment
set -e
echo "🚀 Setting up Placebo.mk development environment..."
# 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 installed
if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
echo "❌ Docker Compose is not installed. Please install Docker Compose."
exit 1
fi
# Check Node.js version
if ! command -v node &> /dev/null; then
echo "⚠️ Node.js is not installed. Local mode won't work, but Docker mode will."
fi
# Create necessary directories
echo "📁 Creating directories..."
mkdir -p scripts
mkdir -p backend/uploads
mkdir -p cms/cms/public/uploads
# Set up environment files
echo "⚙️ Setting up environment files..."
# Backend
if [ ! -f backend/.env ]; then
echo "Creating backend/.env from template..."
cp backend/.env.docker.template backend/.env
fi
if [ ! -f backend/.env.local ]; then
echo "Creating backend/.env.local from template..."
cp backend/.env.local.template backend/.env.local
fi
# Frontend
if [ ! -f frontend/.env ]; then
echo "Creating frontend/.env from template..."
cp frontend/.env.docker.template frontend/.env
fi
if [ ! -f frontend/.env.local ]; then
echo "Creating frontend/.env.local from template..."
cp frontend/.env.local.template frontend/.env.local
fi
# Install root dependencies
echo "📦 Installing root dependencies..."
if command -v npm &> /dev/null; then
npm install
else
echo "⚠️ npm not found, skipping root dependencies"
fi
# Build Docker images
echo "🐳 Building Docker images..."
if docker compose version &> /dev/null; then
docker compose -f docker-compose.dev.yml build
else
docker-compose -f docker-compose.dev.yml build
fi
echo ""
echo "✅ Setup complete!"
echo ""
echo "Next steps:"
echo "1. Start in Docker mode: npm run docker:up"
echo "2. Or start in local mode:"
echo " - First terminal: docker-compose -f docker-compose.dev.yml up postgres"
echo " - Second terminal: npm run dev:local"
echo ""
echo "For more details, see README-DEVELOPMENT.md"
+42
View File
@@ -0,0 +1,42 @@
#!/bin/bash
# Test environment configuration
echo "🧪 Testing environment configuration..."
echo ""
echo "=== Backend Environment ==="
echo "Current .env DATABASE_HOST:"
grep DATABASE_HOST backend/.env || echo "Not found"
echo ""
echo "Backend .env.local DATABASE_HOST:"
grep DATABASE_HOST backend/.env.local || echo "Not found"
echo ""
echo "=== Frontend Environment ==="
echo "Current .env VITE_API_URL:"
grep VITE_API_URL frontend/.env || echo "Not found"
echo ""
echo "Frontend .env.local VITE_API_URL:"
grep VITE_API_URL frontend/.env.local || echo "Not found"
echo ""
echo "=== Docker Compose ==="
echo "Checking Docker Compose configuration..."
if grep -q "env_file:" docker-compose.dev.yml; then
echo "✓ env_file directive is present"
else
echo "✗ env_file directive not found"
fi
echo ""
echo "✅ Environment test complete!"
echo ""
echo "To switch to local mode:"
echo " backend: npm run dev:local"
echo " frontend: npm run dev:local"
echo ""
echo "To reset to Docker mode:"
echo " npm run reset:env"