Files
docker-swarm-termina/create-caprover-releases.sh
Claude 97790045ff Add GitHub Actions for automated release builds and deployment tools
- Created GitHub Actions workflow for automated release packaging
  - Triggers on git tags (v*) or manual workflow dispatch
  - Builds uncompressed .tar files for CapRover (as required)
  - Creates checksums and deployment instructions
  - Automatically publishes to GitHub Releases

- Added release build script (create-caprover-releases.sh)
  - Generates backend-caprover-{version}.tar (uncompressed)
  - Generates frontend-caprover-{version}.tar (uncompressed)
  - Creates documentation package (compressed for convenience)
  - Generates SHA256 checksums for verification

- Created QUICKSTART.md for rapid deployment guide
  - Option 1: Pre-built releases (fastest)
  - Option 2: Deploy from source (latest changes)
  - Verification steps and troubleshooting

- Updated documentation for CapRover tar format
  - CapRover requires uncompressed .tar files (not .tar.gz)
  - Updated all references in README, QUICKSTART, and releases/README
  - Added clear notes about file format requirements

- Updated .gitignore to exclude release artifacts but keep README

- Updated main README with CapRover deployment section

This enables automated release creation on tag push and provides
easy deployment packages for CapRover users.

https://claude.ai/code/session_01NfGGGQ9Zn6ue7PRZpAoB2N
2026-01-30 19:14:52 +00:00

74 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# Script to create CapRover deployment tar files for releases
set -e
echo "Creating CapRover deployment packages..."
# Create releases directory if it doesn't exist
mkdir -p releases
# Get version from git or use timestamp
VERSION=$(git describe --tags --always 2>/dev/null || date +%Y%m%d-%H%M%S)
# Backend tar file (CapRover requires uncompressed tar)
echo "Creating backend package..."
cd backend
tar -cf "../releases/backend-caprover-${VERSION}.tar" \
--exclude='__pycache__' \
--exclude='*.pyc' \
--exclude='.env' \
--exclude='venv' \
--exclude='.git' \
.
cd ..
echo "✓ Created: releases/backend-caprover-${VERSION}.tar"
# Frontend tar file (CapRover requires uncompressed tar)
echo "Creating frontend package..."
cd frontend
tar -cf "../releases/frontend-caprover-${VERSION}.tar" \
--exclude='node_modules' \
--exclude='.next' \
--exclude='.env' \
--exclude='.env.local' \
--exclude='.git' \
.
cd ..
echo "✓ Created: releases/frontend-caprover-${VERSION}.tar"
# Create a compressed documentation package (for download convenience)
echo "Creating documentation package..."
tar -czf "releases/documentation-${VERSION}.tar.gz" \
CAPROVER_DEPLOYMENT.md \
QUICKSTART.md \
README.md \
backend/README.md \
frontend/README.md 2>/dev/null || true
echo "✓ Created: releases/documentation-${VERSION}.tar.gz"
# Create checksums
echo "Creating checksums..."
cd releases
sha256sum backend-caprover-${VERSION}.tar frontend-caprover-${VERSION}.tar documentation-${VERSION}.tar.gz > "checksums-${VERSION}.txt"
cd ..
echo "✓ Created: releases/checksums-${VERSION}.txt"
echo ""
echo "=== Release Packages Created ==="
echo "Version: ${VERSION}"
echo ""
ls -lh releases/backend-caprover-${VERSION}.tar releases/frontend-caprover-${VERSION}.tar releases/documentation-${VERSION}.tar.gz
echo ""
echo "To deploy to CapRover:"
echo " 1. Upload backend-caprover-${VERSION}.tar to your backend app"
echo " 2. Upload frontend-caprover-${VERSION}.tar to your frontend app"
echo ""
echo "Or use CapRover CLI from the respective directories:"
echo " cd backend && caprover deploy"
echo " cd frontend && caprover deploy"