- Production Docker Compose with Caddy reverse proxy, Gunicorn, Nginx - Multi-stage frontend build for production - Deploy script and automated database backup script - Initial Alembic migration with all tables - Switch recommendation model from Sonnet to Haiku for cost efficiency
34 lines
898 B
Bash
Executable File
34 lines
898 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Vynl production deployment script
|
|
# Usage: ./deploy.sh [domain]
|
|
# Example: ./deploy.sh vynl.app
|
|
|
|
DOMAIN=${1:-localhost}
|
|
|
|
echo "=== Deploying Vynl to ${DOMAIN} ==="
|
|
|
|
# Check .env exists
|
|
if [ ! -f backend/.env ]; then
|
|
echo "ERROR: backend/.env not found. Copy backend/.env.example and fill in your values."
|
|
exit 1
|
|
fi
|
|
|
|
# Set domain for Caddy
|
|
export DOMAIN
|
|
export DB_PASSWORD=$(grep POSTGRES_PASSWORD backend/.env 2>/dev/null || echo "vynl")
|
|
|
|
# Build and start
|
|
docker compose -f docker-compose.prod.yml build
|
|
docker compose -f docker-compose.prod.yml up -d
|
|
|
|
echo ""
|
|
echo "=== Vynl deployed ==="
|
|
echo "URL: https://${DOMAIN}"
|
|
echo ""
|
|
echo "Useful commands:"
|
|
echo " docker compose -f docker-compose.prod.yml logs -f # View logs"
|
|
echo " docker compose -f docker-compose.prod.yml down # Stop"
|
|
echo " docker compose -f docker-compose.prod.yml restart # Restart"
|