fix(infra): add BuildKit secrets + GITEA_NPM_HOST to ecosystem compose

This commit is contained in:
saravanakumardb1 2026-03-24 10:02:40 -07:00
parent 3a840572bf
commit 25a1bd5187
2 changed files with 42 additions and 5 deletions

View File

@ -8,7 +8,10 @@
# 2. All product repos must be sibling directories of this repo # 2. All product repos must be sibling directories of this repo
# #
# Usage: # Usage:
# docker compose -f docker-compose.ecosystem.yml --env-file .env.ecosystem up --build # GITEA_NPM_TOKEN=<token> docker compose -f docker-compose.ecosystem.yml --env-file .env.ecosystem up --build
#
# The GITEA_NPM_TOKEN env var is required for product Docker builds that install
# @bytelyst/* packages from the local Gitea npm registry via BuildKit secrets.
# #
# Port Map: # Port Map:
# Infrastructure: cosmos-emulator 8081, azurite 10000, mailpit 1025/8025, # Infrastructure: cosmos-emulator 8081, azurite 10000, mailpit 1025/8025,
@ -23,6 +26,18 @@
# notelett 3045, mindlyst 3050, nomgap 3055, # notelett 3045, mindlyst 3050, nomgap 3055,
# actiontrail 3060, localmemgpt 3070, lysnrai 3002 # actiontrail 3060, localmemgpt 3070, lysnrai 3002
# Product Dockerfiles require BuildKit secrets for Gitea npm registry access.
# GITEA_NPM_HOST defaults to host.docker.internal (Mac local dev).
x-product-build: &product-build
args:
GITEA_NPM_HOST: ${GITEA_NPM_HOST:-host.docker.internal}
secrets:
- gitea_npm_token
secrets:
gitea_npm_token:
environment: GITEA_NPM_TOKEN
services: services:
# ═════════════════════════════════════════════════════════════════ # ═════════════════════════════════════════════════════════════════
@ -271,6 +286,7 @@ services:
peakpulse-backend: peakpulse-backend:
build: build:
<<: *product-build
context: ../learning_ai_peakpulse context: ../learning_ai_peakpulse
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
ports: ports:
@ -293,6 +309,7 @@ services:
chronomind-backend: chronomind-backend:
build: build:
<<: *product-build
context: ../learning_ai_clock context: ../learning_ai_clock
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
ports: ports:
@ -315,6 +332,7 @@ services:
jarvisjr-backend: jarvisjr-backend:
build: build:
<<: *product-build
context: ../learning_ai_jarvis_jr context: ../learning_ai_jarvis_jr
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
ports: ports:
@ -337,6 +355,7 @@ services:
nomgap-backend: nomgap-backend:
build: build:
<<: *product-build
context: ../learning_ai_fastgap context: ../learning_ai_fastgap
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
ports: ports:
@ -359,6 +378,7 @@ services:
mindlyst-backend: mindlyst-backend:
build: build:
<<: *product-build
context: ../learning_multimodal_memory_agents context: ../learning_multimodal_memory_agents
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
ports: ports:
@ -381,6 +401,7 @@ services:
lysnrai-backend: lysnrai-backend:
build: build:
<<: *product-build
context: ../learning_voice_ai_agent context: ../learning_voice_ai_agent
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
ports: ports:
@ -403,6 +424,7 @@ services:
notelett-backend: notelett-backend:
build: build:
<<: *product-build
context: ../learning_ai_notes context: ../learning_ai_notes
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
ports: ports:
@ -426,6 +448,7 @@ services:
flowmonk-backend: flowmonk-backend:
build: build:
<<: *product-build
context: ../learning_ai_flowmonk context: ../learning_ai_flowmonk
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
ports: ports:
@ -448,6 +471,7 @@ services:
actiontrail-backend: actiontrail-backend:
build: build:
<<: *product-build
context: ../learning_ai_trails context: ../learning_ai_trails
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
ports: ports:
@ -470,6 +494,7 @@ services:
localmemgpt-backend: localmemgpt-backend:
build: build:
<<: *product-build
context: ../learning_ai_local_memory_gpt context: ../learning_ai_local_memory_gpt
dockerfile: backend/Dockerfile dockerfile: backend/Dockerfile
ports: ports:
@ -499,6 +524,7 @@ services:
lysnrai-dashboard: lysnrai-dashboard:
build: build:
<<: *product-build
context: ../learning_voice_ai_agent context: ../learning_voice_ai_agent
dockerfile: user-dashboard-web/Dockerfile dockerfile: user-dashboard-web/Dockerfile
ports: ports:
@ -515,6 +541,7 @@ services:
chronomind-web: chronomind-web:
build: build:
<<: *product-build
context: ../learning_ai_clock context: ../learning_ai_clock
dockerfile: web/Dockerfile dockerfile: web/Dockerfile
ports: ports:
@ -531,6 +558,7 @@ services:
jarvisjr-web: jarvisjr-web:
build: build:
<<: *product-build
context: ../learning_ai_jarvis_jr context: ../learning_ai_jarvis_jr
dockerfile: web/Dockerfile dockerfile: web/Dockerfile
ports: ports:
@ -547,6 +575,7 @@ services:
flowmonk-web: flowmonk-web:
build: build:
<<: *product-build
context: ../learning_ai_flowmonk context: ../learning_ai_flowmonk
dockerfile: web/Dockerfile dockerfile: web/Dockerfile
ports: ports:
@ -563,6 +592,7 @@ services:
notelett-web: notelett-web:
build: build:
<<: *product-build
context: ../learning_ai_notes context: ../learning_ai_notes
dockerfile: web/Dockerfile dockerfile: web/Dockerfile
ports: ports:
@ -579,6 +609,7 @@ services:
mindlyst-web: mindlyst-web:
build: build:
<<: *product-build
context: ../learning_multimodal_memory_agents context: ../learning_multimodal_memory_agents
dockerfile: mindlyst-native/web/Dockerfile dockerfile: mindlyst-native/web/Dockerfile
ports: ports:
@ -595,6 +626,7 @@ services:
nomgap-web: nomgap-web:
build: build:
<<: *product-build
context: ../learning_ai_fastgap context: ../learning_ai_fastgap
dockerfile: web/Dockerfile dockerfile: web/Dockerfile
ports: ports:
@ -611,6 +643,7 @@ services:
actiontrail-web: actiontrail-web:
build: build:
<<: *product-build
context: ../learning_ai_trails context: ../learning_ai_trails
dockerfile: web/Dockerfile dockerfile: web/Dockerfile
ports: ports:
@ -627,6 +660,7 @@ services:
localmemgpt-web: localmemgpt-web:
build: build:
<<: *product-build
context: ../learning_ai_local_memory_gpt context: ../learning_ai_local_memory_gpt
dockerfile: web/Dockerfile dockerfile: web/Dockerfile
ports: ports:

View File

@ -41,15 +41,18 @@ cd learning_ai_common_plat
# 1. Create env file from example # 1. Create env file from example
cp .env.ecosystem.example .env.ecosystem cp .env.ecosystem.example .env.ecosystem
# Edit .env.ecosystem — fill in Stripe keys, Gemini key, etc. # Edit .env.ecosystem — fill in Cosmos emulator key, Azurite key, Stripe keys, Gemini key, etc.
# 2. Validate compose config # 2. Export Gitea npm token (required for product Docker builds)
export GITEA_NPM_TOKEN=<your-gitea-package-token>
# 3. Validate compose config
docker compose -f docker-compose.ecosystem.yml --env-file .env.ecosystem config --quiet docker compose -f docker-compose.ecosystem.yml --env-file .env.ecosystem config --quiet
# 3. Build and start everything # 4. Build and start everything
docker compose -f docker-compose.ecosystem.yml --env-file .env.ecosystem up --build -d docker compose -f docker-compose.ecosystem.yml --env-file .env.ecosystem up --build -d
# 4. Check health # 5. Check health
docker compose -f docker-compose.ecosystem.yml ps docker compose -f docker-compose.ecosystem.yml ps
``` ```