36 lines
993 B
Bash
Executable File
36 lines
993 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# SSL Setup Script for Quixotic with Certbot
|
|
set -e
|
|
|
|
DOMAIN=${1:-localhost}
|
|
EMAIL=${2:-admin@example.com}
|
|
|
|
echo "Setting up SSL for domain: $DOMAIN"
|
|
echo "Email: $EMAIL"
|
|
|
|
# Update .env.docker with provided values
|
|
sed -i.bak "s/DOMAIN=.*/DOMAIN=$DOMAIN/" .env.docker
|
|
sed -i.bak "s/ACME_EMAIL=.*/ACME_EMAIL=$EMAIL/" .env.docker
|
|
|
|
echo "Updated .env.docker with new values"
|
|
|
|
# Start services
|
|
echo "Starting Traefik and application..."
|
|
docker-compose --env-file .env.docker up -d traefik quixotic-app
|
|
|
|
echo "Waiting for services to be ready..."
|
|
sleep 10
|
|
|
|
# Test domain accessibility (optional)
|
|
if [ "$DOMAIN" != "localhost" ]; then
|
|
echo "Testing HTTP access to $DOMAIN..."
|
|
curl -f http://$DOMAIN/health || echo "Warning: HTTP test failed"
|
|
|
|
echo "SSL certificate will be automatically obtained by Traefik"
|
|
echo "Check https://$DOMAIN in a few minutes"
|
|
fi
|
|
|
|
echo "SSL setup complete!"
|
|
echo "Traefik dashboard: http://localhost:8080"
|
|
echo "Application: https://$DOMAIN" |