Refactor docker-compose: single deployable file + local override
Build and Push Docker Images / build (push) Successful in 11s

- docker-compose.yml is now the single file for Portainer (staging and prod).
  Uses registry images with ${IMAGE_TAG:-staging}, ${LOGS_PATH:-/opt/myai/logs},
  and ${FILES_PATH:-/opt/myai/files} so the same file works for all environments.
- docker-compose.override.yml adds build context, ports, and env_file for local dev
  and is auto-merged by "docker compose up" (no extra flags needed).
- .env.template documents IMAGE_TAG, LOGS_PATH, FILES_PATH alongside existing vars.
- docker-compose.dcproj updated so override file nests under docker-compose.yml in
  Solution Explorer.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-22 18:52:39 +03:00
parent a4c128fdf4
commit cf064531c5
4 changed files with 114 additions and 140 deletions
+20
View File
@@ -2,6 +2,17 @@
# Copy this file to `.env` (local), `.env.staging`, or `.env.production` and fill the secret values.
# Do NOT commit your `.env.*` files containing real secrets.
# Docker image tag — must match the tag CI pushes to the registry for this environment.
# "staging" for the staging Portainer stack, "production" for the production stack.
# For local dev this is ignored (docker-compose.override.yml builds images locally).
IMAGE_TAG=staging
# Volume base paths — controls where logs and uploaded files are stored on the host.
# Portainer (staging/prod): leave unset to use the /opt/myai defaults.
# Local dev: set to relative paths so logs and files land in the repo tree.
LOGS_PATH=./logs
FILES_PATH=../Apis/api/Files
# Common
ASPNETCORE_ENVIRONMENT=Development
@@ -81,6 +92,15 @@ Jobs__CvStorageCleanupEnabled=true
Jobs__CvStorageCleanupInterval=01:00:00
Jobs__CvStorageMaxTotalSizeMegabytes=40
# CV search job (job board scraper — triggered by one-click email link)
Jobs__CvSearchEnabled=true
Jobs__CvSearchInterval=00:00:30
JobSearch__Enabled=true
JobSearch__JobSearchLinkBaseUrl=https://myai.ro
JobSearch__TokenExpiryDays=7
JobSearch__MinMatchScore=15
JobSearch__MaxJobsToMatch=15
# File Storage
FileStorage__Path=Files
FileStorage__DefaultFileName=