feat: Initialize frontend with React, Vite, and Tailwind CSS
- Set up main entry point for React application. - Create About, Home, NotFound, Privacy, and Terms pages with SEO support. - Implement API service for file uploads and task management. - Add global styles using Tailwind CSS. - Create utility functions for SEO and text processing. - Configure Vite for development and production builds. - Set up Nginx configuration for serving frontend and backend. - Add scripts for cleanup of expired files and sitemap generation. - Implement deployment script for production environment.
This commit is contained in:
58
scripts/deploy.sh
Normal file
58
scripts/deploy.sh
Normal file
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
# deploy.sh — Production deployment script for SaaS-PDF
|
||||
set -euo pipefail
|
||||
|
||||
echo "========================================="
|
||||
echo " SaaS-PDF Production Deployment"
|
||||
echo "========================================="
|
||||
|
||||
# Colors
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m'
|
||||
|
||||
# Check Docker
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo -e "${RED}Docker is not installed.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
|
||||
echo -e "${RED}Docker Compose is not installed.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check .env
|
||||
if [ ! -f ".env" ]; then
|
||||
echo -e "${RED}.env file not found! Copy .env.example and configure it.${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${YELLOW}1/5 — Pulling latest code...${NC}"
|
||||
git pull origin main 2>/dev/null || echo "Not a git repo or no remote, skipping pull."
|
||||
|
||||
echo -e "${YELLOW}2/5 — Building Docker images...${NC}"
|
||||
docker compose -f docker-compose.prod.yml build --no-cache
|
||||
|
||||
echo -e "${YELLOW}3/5 — Stopping old containers...${NC}"
|
||||
docker compose -f docker-compose.prod.yml down --remove-orphans
|
||||
|
||||
echo -e "${YELLOW}4/5 — Starting services...${NC}"
|
||||
docker compose -f docker-compose.prod.yml up -d
|
||||
|
||||
echo -e "${YELLOW}5/5 — Waiting for health check...${NC}"
|
||||
sleep 10
|
||||
|
||||
# Health check
|
||||
if curl -sf http://localhost/health > /dev/null 2>&1; then
|
||||
echo -e "${GREEN}✓ Deployment successful! Service is healthy.${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ Health check failed. Check logs:${NC}"
|
||||
echo " docker compose -f docker-compose.prod.yml logs backend"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}Deployment complete!${NC}"
|
||||
echo " App: http://localhost"
|
||||
echo " Logs: docker compose -f docker-compose.prod.yml logs -f"
|
||||
Reference in New Issue
Block a user