From 594f96ab1b31c26bbb656d9b9045aca6d6780e55 Mon Sep 17 00:00:00 2001 From: Christoph Gasser Date: Wed, 23 Sep 2026 10:30:53 +0200 Subject: [PATCH] Include legacy SQLite database for deployment --- .gitignore | 8 +++++--- README-Docker.md | 3 ++- data/telco.db | Bin 0 -> 36864 bytes 3 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 data/telco.db diff --git a/.gitignore b/.gitignore index 6e418bf..8f925c5 100755 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,9 @@ -# Live application data - real phone numbers, employee names, login credentials, session key. -# Never commit these. The Docker volume recreates this folder at deploy time. +# Previous live-data location. Production now uses the PostgreSQL Docker volume. /TelcoPortal-data/ -/data/ + +# Track only the legacy import database; keep generated secrets and other local data private. +/data/* +!/data/telco.db # Leftovers not meant to be tracked (see chat history for context). /_to_delete/ diff --git a/README-Docker.md b/README-Docker.md index 5d71e70..4d75a72 100755 --- a/README-Docker.md +++ b/README-Docker.md @@ -7,7 +7,8 @@ The Docker stack contains two services: ## First start and SQLite import -1. Put the existing SQLite database at `data/telco.db` next to `docker-compose.yml`. +1. The legacy SQLite database is included at `data/telco.db`, so Git-based deployments receive + the import source automatically. 2. Optionally set a database password in a `.env` file: ```env diff --git a/data/telco.db b/data/telco.db new file mode 100644 index 0000000000000000000000000000000000000000..75a818e30dd491939bf133a46783c4e8c2fc1923 GIT binary patch literal 36864 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 Xn#H8Pp}w)6s0`CP)Hgn)3mE?gy8>e7 literal 0 HcmV?d00001