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
+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()