68 lines
2.2 KiB
Bash
Executable File
68 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# DigitalOcean Spaces Setup Script
|
|
# Run this script to create and configure the Spaces bucket
|
|
|
|
set -e
|
|
|
|
echo "==================================="
|
|
echo "DigitalOcean Spaces Setup"
|
|
echo "==================================="
|
|
|
|
# Check if AWS CLI is installed
|
|
if ! command -v aws &> /dev/null; then
|
|
echo "AWS CLI not found. Installing..."
|
|
sudo apt-get update
|
|
sudo apt-get install -y awscli
|
|
fi
|
|
|
|
# Configure AWS CLI profile for DigitalOcean Spaces
|
|
echo "Configuring AWS CLI profile 'do-tor1'..."
|
|
aws --profile do-tor1 configure set aws_access_key_id DO801P4R8QXYMY4CE8WZ
|
|
aws --profile do-tor1 configure set aws_secret_access_key nstEJv0uZcxd/RXQhOXq9eruaJmeqsbsItFAd35tNQ0
|
|
aws --profile do-tor1 configure set endpoint_url https://nyc3.digitaloceanspaces.com
|
|
aws --profile do-tor1 configure set region nyc3
|
|
|
|
echo "AWS CLI profile configured!"
|
|
|
|
# Create the bucket
|
|
echo "Creating bucket 'smoothschedule'..."
|
|
if aws --profile do-tor1 s3 mb s3://smoothschedule 2>/dev/null; then
|
|
echo "Bucket created successfully!"
|
|
else
|
|
echo "Bucket may already exist or there was an error."
|
|
fi
|
|
|
|
# Set bucket ACL to public-read
|
|
echo "Setting bucket ACL to public-read..."
|
|
aws --profile do-tor1 s3api put-bucket-acl --bucket smoothschedule --acl public-read
|
|
|
|
# Configure CORS
|
|
echo "Configuring CORS..."
|
|
cat > /tmp/cors.json <<'EOF'
|
|
{
|
|
"CORSRules": [
|
|
{
|
|
"AllowedOrigins": ["https://smoothschedule.com", "https://*.smoothschedule.com"],
|
|
"AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
|
|
"AllowedHeaders": ["*"],
|
|
"MaxAgeSeconds": 3000
|
|
}
|
|
]
|
|
}
|
|
EOF
|
|
|
|
aws --profile do-tor1 s3api put-bucket-cors --bucket smoothschedule --cors-configuration file:///tmp/cors.json
|
|
rm /tmp/cors.json
|
|
|
|
echo ""
|
|
echo "==================================="
|
|
echo "Setup Complete!"
|
|
echo "==================================="
|
|
echo "Bucket URL: https://smoothschedule.nyc3.digitaloceanspaces.com"
|
|
echo "CDN URL: https://smoothschedule.nyc3.cdn.digitaloceanspaces.com (if CDN enabled)"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo "1. Verify bucket: aws --profile do-tor1 s3 ls s3://smoothschedule/"
|
|
echo "2. Deploy your application"
|
|
echo "3. Run: docker compose -f docker-compose.production.yml exec django python manage.py collectstatic --noinput"
|