A third party ATProto appview
1#!/bin/bash
2# Migration script from TypeScript to Python backfill
3
4echo "=========================================="
5echo "Migrating to Python Backfill Service"
6echo "=========================================="
7echo ""
8echo "This script will help you migrate from the TypeScript backfill"
9echo "to the new Python backfill service."
10echo ""
11
12# Check if docker-compose is running
13if docker-compose ps | grep -q "Up"; then
14 echo "⚠️ WARNING: Docker services are currently running."
15 echo "Please stop them first with: docker-compose down"
16 exit 1
17fi
18
19# Create backup of current docker-compose.yml
20if [ -f docker-compose.yml ]; then
21 echo "📁 Backing up current docker-compose.yml to docker-compose.yml.backup"
22 cp docker-compose.yml docker-compose.yml.backup
23fi
24
25# Use the Python default configuration
26echo "📝 Setting up Python-based configuration..."
27cp docker-compose.python-default.yml docker-compose.yml
28
29echo ""
30echo "✅ Migration complete!"
31echo ""
32echo "=========================================="
33echo "How to use Python backfill:"
34echo "=========================================="
35echo ""
36echo "1. Start with backfill disabled (default):"
37echo " docker-compose up"
38echo ""
39echo "2. Enable backfill for specific days:"
40echo " BACKFILL_DAYS=7 docker-compose up"
41echo ""
42echo "3. Enable total history backfill:"
43echo " BACKFILL_DAYS=-1 docker-compose up"
44echo ""
45echo "4. Customize resources (example):"
46echo " BACKFILL_DAYS=30 \\"
47echo " BACKFILL_BATCH_SIZE=20 \\"
48echo " BACKFILL_MAX_MEMORY_MB=1024 \\"
49echo " docker-compose up"
50echo ""
51echo "=========================================="
52echo "Important changes:"
53echo "=========================================="
54echo "✅ TypeScript backfill is permanently disabled"
55echo "✅ Python worker handles all backfill operations"
56echo "✅ Same BACKFILL_DAYS environment variable"
57echo "✅ Progress saved to database for resume support"
58echo ""
59echo "For more information, see PYTHON_BACKFILL_GUIDE.md"