diff --git a/run_dev.py b/run_dev.py new file mode 100644 index 00000000..2dd8610f --- /dev/null +++ b/run_dev.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +""" +Development server launcher for ShopDB. +Loads .env file and starts Flask development server. +""" +import os +import sys +from pathlib import Path + +# Load .env BEFORE importing anything from Flask +from dotenv import load_dotenv +env_path = Path(__file__).parent / '.env' +load_dotenv(env_path) + +print("Starting ShopDB Flask development server...") +print(f"DATABASE_URL: {os.environ.get('DATABASE_URL', 'NOT SET')[:60]}...") +print(f"SHOPDB_BACKUPS_ROOT: {os.environ.get('SHOPDB_BACKUPS_ROOT', 'NOT SET')}") + +# Import and run Flask (--no-reload so env vars don't get lost) +from flask.cli import main as flask_main +sys.argv = ['flask', 'run', '--host=0.0.0.0', '--port=5001', '--no-reload'] +flask_main() diff --git a/scripts/backup/README.md b/scripts/backup/README.md index 1390ed6e..65eeaec1 100644 --- a/scripts/backup/README.md +++ b/scripts/backup/README.md @@ -42,6 +42,24 @@ Each backup set includes: 3. Click **Restore** 4. System validates schema compatibility and restores database + files +## Local Development Setup + +For local dev on Windows, configure a local backup directory: + +1. Add to `.env`: + ``` + SHOPDB_BACKUPS_ROOT=C:/Users/YOUR_USERNAME/Documents/github/flask-shopdb/backups + ``` + +2. Create the directory: + ```bash + mkdir backups + ``` + +3. Restart Flask + +Note: Actual backup execution requires Docker (the backup container). The API can queue backups but won't execute them without the sidecar container. + ## First Deployment On fresh install, `/api/shopdbbackups` returns empty list - this is normal.