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:
2026-05-25 00:29:56 -04:00
parent a0b0c7abac
commit 064740ef2e
3 changed files with 42 additions and 4 deletions
Executable
+15
View File
@@ -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
Executable
+12
View File
@@ -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
View File
@@ -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()