| #!/bin/bash |
| |
| |
| |
| |
| |
|
|
| echo "" |
| echo "╔══════════════════════════════════════════════════════════════╗" |
| echo "║ Alpha MC — Google Drive Backup Setup ║" |
| echo "╚══════════════════════════════════════════════════════════════╝" |
| echo "" |
| echo "Follow these steps ONE TIME to enable cloud backups:" |
| echo "" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " STEP 1 — Create a Google Cloud Project" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " 1. Go to: https://console.cloud.google.com" |
| echo " 2. Click 'New Project', give it any name (e.g. 'alpha-mc')" |
| echo " 3. Select your new project" |
| echo "" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " STEP 2 — Enable Google Drive API" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " 1. Go to: APIs & Services → Library" |
| echo " 2. Search for 'Google Drive API'" |
| echo " 3. Click Enable" |
| echo "" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " STEP 3 — Create a Service Account" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " 1. Go to: IAM & Admin → Service Accounts" |
| echo " 2. Click 'Create Service Account'" |
| echo " 3. Name it: minecraft-backup" |
| echo " 4. Click Done (no special roles needed)" |
| echo " 5. Click the new service account → Keys tab" |
| echo " 6. Add Key → Create new key → JSON → Download" |
| echo " 7. Save the downloaded file as: service-account.json" |
| echo "" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " STEP 4 — Share your Google Drive folder with the service account" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " 1. Go to Google Drive → New Folder → Name it:" |
| echo " 'Minecraft-Bedrock-Backups'" |
| echo " 2. Right-click the folder → Share" |
| echo " 3. Paste the service account email (from the JSON file," |
| echo " it looks like: minecraft-backup@project.iam.gserviceaccount.com)" |
| echo " 4. Set role to 'Editor' → Share" |
| echo "" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " STEP 5 — Generate your GDRIVE_SA_KEY secret" |
| echo "─────────────────────────────────────────────────────────────" |
|
|
| if [ -f "service-account.json" ]; then |
| echo " Found service-account.json — encoding..." |
| ENCODED=$(base64 -w 0 service-account.json) |
| echo "" |
| echo " Your GDRIVE_SA_KEY value (copy everything between the lines):" |
| echo " ─────────────────────────────────────────────────────────────" |
| echo "$ENCODED" |
| echo " ─────────────────────────────────────────────────────────────" |
| echo "" |
| echo " ✅ Copy the value above." |
| else |
| echo " Download service-account.json first, then run:" |
| echo " base64 -w 0 service-account.json" |
| echo " Copy the output." |
| fi |
|
|
| echo "" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " STEP 6 — Add to HuggingFace Space" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " 1. Go to your Space → Settings → Repository Secrets" |
| echo " 2. Add a new secret:" |
| echo " Name: GDRIVE_SA_KEY" |
| echo " Value: (paste the base64 string from Step 5)" |
| echo " 3. Restart your Space" |
| echo "" |
| echo " That's it! Backups will now upload to Google Drive" |
| echo " every 6 hours automatically. ✅" |
| echo "" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " IMPORTANT: Security" |
| echo "─────────────────────────────────────────────────────────────" |
| echo " ❌ NEVER commit service-account.json to git!" |
| echo " ❌ NEVER upload credentials.json to HuggingFace files!" |
| echo " ✅ ONLY store secrets in HF Space Settings → Secrets" |
| echo "" |
|
|