11#! /usr/bin/env bash
22
3+ # Get FLY_APP_NAME from command line arguments
4+ FLY_APP_NAME=$1
5+
6+ # Display usage if no argument is provided
7+ if [ -z " $FLY_APP_NAME " ]; then
8+ echo " Usage: $0 <app_name>"
9+ exit 1
10+ fi
11+
12+ # Set app name in project via script
13+ ./scripts/set-fly-app-name.sh $FLY_APP_NAME
314
415# Specify the target fly.toml configuration file
516function specify_target_fly_toml() {
@@ -16,11 +27,16 @@ specify_target_fly_toml
1627
1728
1829# Create app without launching
19- yes n | fly launch --vm-memory 512 --ha=false --no-db --now --copy-config --build-only
30+ yes n | fly launch --name $FLY_APP_NAME -- vm-memory 512 --ha=false --no-db --now --copy-config --build-only
2031
2132# Set database location
2233flyctl secrets set DATABASE_URL=sqlite:////data/db.sqlite3
2334
35+ # Set uploads location
36+ flyctl secrets set MEDIA_URL=https://${FLY_APP_NAME} .fly.dev/media/
37+ flyctl secrets set MEDIA_ROOT=/data/uploads
38+ flyctl secrets set USE_LOCAL_FILE_STORAGE=True
39+
2440# Use gsed on macOS
2541SED_CMD=" sed"
2642if [[ " $OSTYPE " == " darwin" * ]]; then
@@ -35,9 +51,18 @@ $SED_CMD -i "s|^ release_command = 'python manage.py migrate --noinput'|# rele
3551
3652
3753# Launch app
38- fly deploy
54+ fly deploy --config ./scripts/configs/fly-sqlite.toml
55+
56+ # Wait for app to be ready
57+ echo " Waiting for app to be ready..."
58+ while ! curl -s -o /dev/null -w " %{http_code}" https://$FLY_APP_NAME .fly.dev; do
59+ sleep 2
60+ done
61+ echo
62+ echo " App is ready!"
3963
4064# Run migrations
65+ echo " Running migrations..."
4166fly ssh console -C ' python manage.py migrate'
4267
4368# Restore existing fly.toml
0 commit comments