#!/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"