feat: config-driven environments (env vars + start scripts)
Add env var overrides matching main app pattern: - CANTEEN_IMPORT_PORT — port override (default 8091) - CANTEEN_IMPORT_DB_PATH — database path override - CANTEEN_IMPORT_SEED_DIR — seed data directory override - CANTEEN_IMPORT_UPLOAD_DIR — upload directory override Create start scripts in repo: - start.sh — production (default port 8091) - start-dev.sh — development (port 8093, assets.dev.db) Fix: dev clone now pulls from Gitea (not local prod dir)
This commit is contained in:
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
# 🛠️ Start Seed Import — Development
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
PROJECT_DIR="$(pwd)"
|
||||
|
||||
echo "🚀 Starting Seed Import (dev) on :8093..."
|
||||
echo " DB: $PROJECT_DIR/seed-data/assets.dev.db"
|
||||
echo ""
|
||||
|
||||
export CANTEEN_IMPORT_PORT=8093
|
||||
export CANTEEN_IMPORT_DB_PATH="${PROJECT_DIR}/seed-data/assets.dev.db"
|
||||
|
||||
exec python3 web/server.py
|
||||
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# 🏭 Start Seed Import — Production
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
PROJECT_DIR="$(pwd)"
|
||||
|
||||
echo "🚀 Starting Seed Import (prod) on port ${CANTEEN_IMPORT_PORT:-8091}..."
|
||||
echo " DB: ${CANTEEN_IMPORT_DB_PATH:-$PROJECT_DIR/seed-data/assets.db}"
|
||||
echo ""
|
||||
|
||||
exec python3 web/server.py
|
||||
+15
-4
@@ -79,9 +79,18 @@ def _list_backup_files() -> list[dict]:
|
||||
|
||||
# ─── Config ──────────────────────────────────────────────────────────────────
|
||||
|
||||
DEFAULT_DB_PATH = str(PROJECT_ROOT / "seed-data" / "assets.db")
|
||||
DEFAULT_SEED_DIR = str(PROJECT_ROOT / "seed-data")
|
||||
UPLOAD_DIR = Path("/tmp/canteen-import-uploads")
|
||||
DEFAULT_DB_PATH = os.environ.get(
|
||||
"CANTEEN_IMPORT_DB_PATH",
|
||||
str(PROJECT_ROOT / "seed-data" / "assets.db"),
|
||||
)
|
||||
DEFAULT_SEED_DIR = os.environ.get(
|
||||
"CANTEEN_IMPORT_SEED_DIR",
|
||||
str(PROJECT_ROOT / "seed-data"),
|
||||
)
|
||||
UPLOAD_DIR = Path(os.environ.get(
|
||||
"CANTEEN_IMPORT_UPLOAD_DIR",
|
||||
"/tmp/canteen-import-uploads",
|
||||
))
|
||||
REPORT_PATH = Path(DEFAULT_SEED_DIR) / "validation_report.md"
|
||||
HEADERS_FILE = Path(DEFAULT_SEED_DIR) / "headers_modified.csv"
|
||||
REFERENCE_FILE = Path(DEFAULT_SEED_DIR) / "reference_handbook.md"
|
||||
@@ -603,7 +612,9 @@ if __name__ == "__main__":
|
||||
import uvicorn
|
||||
|
||||
parser = argparse.ArgumentParser(description="Canteen Seed Import Web Server")
|
||||
parser.add_argument("--port", type=int, default=8091, help="Port to listen on")
|
||||
parser.add_argument("--port", type=int,
|
||||
default=int(os.environ.get("CANTEEN_IMPORT_PORT", "8091")),
|
||||
help="Port to listen on")
|
||||
parser.add_argument("--host", type=str, default="0.0.0.0", help="Host to bind to")
|
||||
args = parser.parse_args()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user