From 65601c1fcb4c90ae4bb6fffd7e5373a077b72b33 Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Fri, 5 Dec 2025 21:33:17 -0500 Subject: [PATCH] Chore: Improve Docker deployment configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Use environment variables in docker-compose for secrets/paths - Add .env.example template for required variables - Add .env to .gitignore to prevent secret exposure - Add docker-build-and-push.cmd helper script 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .env.example | 13 +++++++++++++ .gitignore | 3 +++ docker-build-and-push.cmd | 2 ++ docker-compose.yml | 10 ++++------ 4 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 .env.example create mode 100644 docker-build-and-push.cmd diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..afaf64d --- /dev/null +++ b/.env.example @@ -0,0 +1,13 @@ +# Docker image +DOCKER_IMAGE=yourusername/moneymap:latest + +# Database connection +DB_SERVER=your-server +DB_USER=your-username +DB_PASSWORD=your-password + +# OpenAI API key for receipt parsing +OPENAI_API_KEY=your-openai-key + +# Host path for receipt storage +RECEIPTS_HOST_PATH=/mnt/docker-data/moneymap/receipts diff --git a/.gitignore b/.gitignore index 3406767..3eff65d 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,6 @@ packages/ /MoneyMap/wwwroot/lib/ /MoneyMap/wwwroot/receipts/ **/publish/ + +# Environment files with secrets +.env diff --git a/docker-build-and-push.cmd b/docker-build-and-push.cmd new file mode 100644 index 0000000..7f73d69 --- /dev/null +++ b/docker-build-and-push.cmd @@ -0,0 +1,2 @@ +docker build -t ajisaacs/moneymap:latest ./MoneyMap +docker push ajisaacs/moneymap:latest \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 88cad6c..dfe5d31 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,15 +1,13 @@ services: moneymap: - build: - context: ./MoneyMap - dockerfile: Dockerfile + image: ${DOCKER_IMAGE:-yourusername/moneymap:latest} container_name: moneymap ports: - "5010:5010" environment: - - ConnectionStrings__MoneyMapDb=Server=barge.lan;Database=MoneyMap;User Id=moneymap;Password=YOUR_PASSWORD;TrustServerCertificate=True; - - Receipts__StoragePath=/app/receipts + - ConnectionStrings__MoneyMapDb=Server=${DB_SERVER};Database=MoneyMap;User Id=${DB_USER};Password=${DB_PASSWORD};TrustServerCertificate=True; + - Receipts__StoragePath=receipts - OPENAI_API_KEY=${OPENAI_API_KEY} volumes: - - /mnt/docker-data/moneymap/receipts:/app/receipts + - ${RECEIPTS_HOST_PATH}:/app/wwwroot/receipts restart: unless-stopped