fix(deployments): use relative paths instead of FETCHML_REPO_ROOT with wrong fallback
Replace all .. with proper relative paths: - Build context: Use '.' (current directory = project root when using --project-directory) - Volume mounts: Use './data/...' instead of '../data/...' - Config mounts: Use './configs/...' instead of '../configs/...' The '..' fallback was incorrect - when --project-directory is set to repo root, '..' would point to parent of repo instead of repo itself. Using '.' or './path' correctly resolves relative to project root. Environment variables for data directories (SMOKE_TEST_DATA_DIR, PROD_DATA_DIR, HOMELAB_DATA_DIR, LOCAL_DATA_DIR) are preserved for runtime customization.
This commit is contained in:
parent
cebcb6115f
commit
bcc432a524
4 changed files with 63 additions and 63 deletions
|
|
@ -10,9 +10,9 @@ services:
|
|||
- "8080:80"
|
||||
- "8443:443"
|
||||
volumes:
|
||||
- ${FETCHML_REPO_ROOT:-..}/deployments/Caddyfile.dev:/etc/caddy/Caddyfile:ro
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/caddy/data:/data
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/caddy/config:/config
|
||||
- ./deployments/Caddyfile.dev:/etc/caddy/Caddyfile:ro
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/caddy/data:/data
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/caddy/config:/config
|
||||
depends_on:
|
||||
api-server:
|
||||
condition: service_healthy
|
||||
|
|
@ -33,7 +33,7 @@ services:
|
|||
retries: 3
|
||||
api-server:
|
||||
build:
|
||||
context: ${FETCHML_REPO_ROOT:-..}
|
||||
context: .
|
||||
dockerfile: build/docker/simple.Dockerfile
|
||||
container_name: ml-experiments-api
|
||||
user: "0:0"
|
||||
|
|
@ -42,12 +42,12 @@ services:
|
|||
expose:
|
||||
- "9101" # API and health endpoints (internal; external access via Caddy)
|
||||
volumes:
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/logs:/logs
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/experiments:/data/experiments
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/active:/data/active
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/workspaces:/data/active/workspaces:delegated
|
||||
- ${FETCHML_REPO_ROOT:-..}/configs/api/dev.yaml:/app/configs/api/dev.yaml
|
||||
- ${FETCHML_REPO_ROOT:-..}/ssl:/app/ssl
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/logs:/logs
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/experiments:/data/experiments
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/active:/data/active
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/workspaces:/data/active/workspaces:delegated
|
||||
- ./configs/api/dev.yaml:/app/configs/api/dev.yaml
|
||||
- ./ssl:/app/ssl
|
||||
depends_on:
|
||||
- redis
|
||||
restart: unless-stopped
|
||||
|
|
@ -71,7 +71,7 @@ services:
|
|||
- "9000:9000"
|
||||
- "9001:9001"
|
||||
volumes:
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/minio:/data
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/minio:/data
|
||||
environment:
|
||||
- MINIO_ROOT_USER=minioadmin
|
||||
- MINIO_ROOT_PASSWORD=minioadmin123
|
||||
|
|
@ -126,18 +126,18 @@ services:
|
|||
restart: "no"
|
||||
worker:
|
||||
build:
|
||||
context: ${FETCHML_REPO_ROOT:-..}
|
||||
context: .
|
||||
dockerfile: build/docker/simple.Dockerfile
|
||||
container_name: ml-experiments-worker
|
||||
user: "0:0"
|
||||
ports:
|
||||
- "8888:8888"
|
||||
volumes:
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/logs:/logs
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/active:/data/active
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/experiments:/data/experiments
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/workspaces:/data/active/workspaces:delegated
|
||||
- ${FETCHML_REPO_ROOT:-..}/configs/workers/docker-dev.yaml:/app/configs/worker.yaml
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/logs:/logs
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/active:/data/active
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/experiments:/data/experiments
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/workspaces:/data/active/workspaces:delegated
|
||||
- ./configs/workers/docker-dev.yaml:/app/configs/worker.yaml
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||
depends_on:
|
||||
redis:
|
||||
|
|
@ -209,8 +209,8 @@ services:
|
|||
image: grafana/promtail:latest
|
||||
container_name: ml-experiments-promtail
|
||||
volumes:
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/monitoring}/promtail-config.yml:/etc/promtail/config.yml
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/dev}/logs:/var/log/app
|
||||
- ${SMOKE_TEST_DATA_DIR:-./monitoring}/promtail-config.yml:/etc/promtail/config.yml
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/dev}/logs:/var/log/app
|
||||
- /var/lib/docker/containers:/var/lib/docker/containers:ro
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
command: -config.file=/etc/promtail/config.yml
|
||||
|
|
|
|||
|
|
@ -4,18 +4,18 @@
|
|||
services:
|
||||
api-server:
|
||||
build:
|
||||
context: ${FETCHML_REPO_ROOT:-..}
|
||||
dockerfile: ${FETCHML_REPO_ROOT:-..}/build/docker/simple.Dockerfile
|
||||
context: .
|
||||
dockerfile: ./build/docker/simple.Dockerfile
|
||||
container_name: ml-experiments-api
|
||||
ports:
|
||||
- "9101:9101"
|
||||
- "9100:9100" # Prometheus metrics endpoint
|
||||
volumes:
|
||||
- ${HOMELAB_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/homelab}/experiments:/data/experiments
|
||||
- ${HOMELAB_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/homelab}/active:/data/active
|
||||
- ${HOMELAB_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/homelab}/logs:/logs
|
||||
- ${FETCHML_REPO_ROOT:-..}/ssl:/app/ssl:ro
|
||||
- ${FETCHML_REPO_ROOT:-..}/configs/api/homelab-secure.yaml:/app/configs/api/prod.yaml:ro
|
||||
- ${HOMELAB_DATA_DIR:-./data/homelab}/experiments:/data/experiments
|
||||
- ${HOMELAB_DATA_DIR:-./data/homelab}/active:/data/active
|
||||
- ${HOMELAB_DATA_DIR:-./data/homelab}/logs:/logs
|
||||
- ./ssl:/app/ssl:ro
|
||||
- ./configs/api/homelab-secure.yaml:/app/configs/api/prod.yaml:ro
|
||||
- ${FETCHML_REPO_ROOT:-..}/.env.secure:/app/.env.secure:ro
|
||||
depends_on:
|
||||
redis:
|
||||
|
|
@ -47,7 +47,7 @@ services:
|
|||
- "9000:9000"
|
||||
- "9001:9001"
|
||||
volumes:
|
||||
- ${HOMELAB_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/homelab}/minio:/data
|
||||
- ${HOMELAB_DATA_DIR:-./data/homelab}/minio:/data
|
||||
environment:
|
||||
- MINIO_ROOT_USER=${MINIO_ROOT_USER:-minioadmin}
|
||||
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-minioadmin123}
|
||||
|
|
@ -80,14 +80,14 @@ services:
|
|||
|
||||
worker:
|
||||
build:
|
||||
context: ${FETCHML_REPO_ROOT:-..}
|
||||
dockerfile: ${FETCHML_REPO_ROOT:-..}/build/docker/simple.Dockerfile
|
||||
context: .
|
||||
dockerfile: ./build/docker/simple.Dockerfile
|
||||
container_name: ml-experiments-worker
|
||||
volumes:
|
||||
- ${HOMELAB_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/homelab}/experiments:/app/data/experiments
|
||||
- ${HOMELAB_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/homelab}/active:/data/active
|
||||
- ${HOMELAB_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/homelab}/logs:/logs
|
||||
- ${FETCHML_REPO_ROOT:-..}/configs/workers/homelab-secure.yaml:/app/configs/worker.yaml
|
||||
- ${HOMELAB_DATA_DIR:-./data/homelab}/experiments:/app/data/experiments
|
||||
- ${HOMELAB_DATA_DIR:-./data/homelab}/active:/data/active
|
||||
- ${HOMELAB_DATA_DIR:-./data/homelab}/logs:/logs
|
||||
- ./configs/workers/homelab-secure.yaml:/app/configs/worker.yaml
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
|
@ -114,10 +114,10 @@ services:
|
|||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ${FETCHML_REPO_ROOT:-..}/deployments/Caddyfile.homelab-secure:/etc/caddy/Caddyfile:ro
|
||||
- ${FETCHML_REPO_ROOT:-..}/ssl:/etc/caddy/ssl:ro
|
||||
- ${HOMELAB_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/homelab}/caddy/data:/data
|
||||
- ${HOMELAB_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/homelab}/caddy/config:/config
|
||||
- ./deployments/Caddyfile.homelab-secure:/etc/caddy/Caddyfile:ro
|
||||
- ./ssl:/etc/caddy/ssl:ro
|
||||
- ${HOMELAB_DATA_DIR:-./data/homelab}/caddy/data:/data
|
||||
- ${HOMELAB_DATA_DIR:-./data/homelab}/caddy/config:/config
|
||||
environment:
|
||||
- FETCHML_DOMAIN=${FETCHML_DOMAIN:-ml.local}
|
||||
depends_on:
|
||||
|
|
@ -134,8 +134,8 @@ services:
|
|||
ports:
|
||||
- "127.0.0.1:6379:6379" # Bind to localhost only
|
||||
volumes:
|
||||
- ${HOMELAB_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/homelab}/redis:/data
|
||||
- ${FETCHML_REPO_ROOT:-..}/redis/redis-secure.conf:/usr/local/etc/redis/redis.conf:ro
|
||||
- ${HOMELAB_DATA_DIR:-./data/homelab}/redis:/data
|
||||
- ./redis/redis-secure.conf:/usr/local/etc/redis/redis.conf:ro
|
||||
restart: unless-stopped
|
||||
command: redis-server /usr/local/etc/redis/redis.conf --requirepass ${REDIS_PASSWORD}
|
||||
healthcheck:
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ services:
|
|||
ports:
|
||||
- "8080:80"
|
||||
volumes:
|
||||
- ${FETCHML_REPO_ROOT:-..}/deployments/Caddyfile.prod.smoke:/etc/caddy/Caddyfile:ro
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod-smoke}/caddy/data:/data
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod-smoke}/caddy/config:/config
|
||||
- ./deployments/Caddyfile.prod.smoke:/etc/caddy/Caddyfile:ro
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/prod-smoke}/caddy/data:/data
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/prod-smoke}/caddy/config:/config
|
||||
networks:
|
||||
- default
|
||||
depends_on:
|
||||
|
|
@ -22,7 +22,7 @@ services:
|
|||
expose:
|
||||
- "6379"
|
||||
volumes:
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod-smoke}/redis:/data
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/prod-smoke}/redis:/data
|
||||
command: redis-server --appendonly yes
|
||||
healthcheck:
|
||||
test: [ "CMD", "redis-cli", "ping" ]
|
||||
|
|
@ -32,7 +32,7 @@ services:
|
|||
|
||||
api-server:
|
||||
build:
|
||||
context: ${FETCHML_REPO_ROOT:-..}
|
||||
context: .
|
||||
dockerfile: build/docker/simple.Dockerfile
|
||||
user: "0:0"
|
||||
restart: unless-stopped
|
||||
|
|
@ -42,10 +42,10 @@ services:
|
|||
redis:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod-smoke}/experiments:/data/experiments
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod-smoke}/active:/data/active
|
||||
- ${SMOKE_TEST_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod-smoke}/logs:/logs
|
||||
- ${FETCHML_REPO_ROOT:-..}/configs/api/dev.yaml:/app/configs/api/dev.yaml:ro
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/prod-smoke}/experiments:/data/experiments
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/prod-smoke}/active:/data/active
|
||||
- ${SMOKE_TEST_DATA_DIR:-./data/prod-smoke}/logs:/logs
|
||||
- ./configs/api/dev.yaml:/app/configs/api/dev.yaml:ro
|
||||
command: ["/bin/sh", "-c", "mkdir -p /data/experiments /data/active/datasets /data/active/snapshots && exec /usr/local/bin/api-server -config /app/configs/api/dev.yaml"]
|
||||
environment:
|
||||
- LOG_LEVEL=info
|
||||
|
|
@ -66,9 +66,9 @@ services:
|
|||
- USER_NAME=test
|
||||
- PASSWORD_ACCESS=false
|
||||
volumes:
|
||||
- ${FETCHML_REPO_ROOT:-..}/deployments/test_keys:/tmp:ro
|
||||
- ./deployments/test_keys:/tmp:ro
|
||||
- ${FETCHML_REPO_ROOT:-..}/bin/tui-linux:/usr/local/bin/tui:ro
|
||||
- ${FETCHML_REPO_ROOT:-..}/deployments/tui-test-config.toml:/config/.ml/config.toml:ro
|
||||
- ./deployments/tui-test-config.toml:/config/.ml/config.toml:ro
|
||||
ports:
|
||||
- "2222:2222"
|
||||
networks:
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ services:
|
|||
expose:
|
||||
- "6379"
|
||||
volumes:
|
||||
- ${PROD_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod}/redis:/data
|
||||
- ${PROD_DATA_DIR:-./data/prod}/redis:/data
|
||||
restart: unless-stopped
|
||||
command: redis-server --appendonly yes
|
||||
healthcheck:
|
||||
|
|
@ -18,17 +18,17 @@ services:
|
|||
|
||||
api-server:
|
||||
build:
|
||||
context: ${FETCHML_REPO_ROOT:-..}
|
||||
dockerfile: ${FETCHML_REPO_ROOT:-..}/build/docker/secure-prod.Dockerfile
|
||||
context: .
|
||||
dockerfile: ./build/docker/secure-prod.Dockerfile
|
||||
container_name: ml-prod-api
|
||||
expose:
|
||||
- "9101"
|
||||
- "2222"
|
||||
volumes:
|
||||
- ${PROD_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod}/experiments:/app/data/experiments
|
||||
- ${PROD_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod}/active:/data/active
|
||||
- ${PROD_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod}/logs:/logs
|
||||
- ${FETCHML_REPO_ROOT:-..}/configs/api/multi-user.yaml:/app/configs/api/prod.yaml
|
||||
- ${PROD_DATA_DIR:-./data/prod}/experiments:/app/data/experiments
|
||||
- ${PROD_DATA_DIR:-./data/prod}/active:/data/active
|
||||
- ${PROD_DATA_DIR:-./data/prod}/logs:/logs
|
||||
- ./configs/api/multi-user.yaml:/app/configs/api/prod.yaml
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
|
@ -55,14 +55,14 @@ services:
|
|||
|
||||
worker:
|
||||
build:
|
||||
context: ${FETCHML_REPO_ROOT:-..}
|
||||
dockerfile: ${FETCHML_REPO_ROOT:-..}/build/docker/simple.Dockerfile
|
||||
context: .
|
||||
dockerfile: ./build/docker/simple.Dockerfile
|
||||
container_name: ml-prod-worker
|
||||
volumes:
|
||||
- ${PROD_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod}/experiments:/app/data/experiments
|
||||
- ${PROD_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod}/active:/data/active
|
||||
- ${PROD_DATA_DIR:-${FETCHML_REPO_ROOT:-..}/data/prod}/logs:/logs
|
||||
- ${FETCHML_REPO_ROOT:-..}/configs/workers/docker-prod.yaml:/app/configs/worker.yaml
|
||||
- ${PROD_DATA_DIR:-./data/prod}/experiments:/app/data/experiments
|
||||
- ${PROD_DATA_DIR:-./data/prod}/active:/data/active
|
||||
- ${PROD_DATA_DIR:-./data/prod}/logs:/logs
|
||||
- ./configs/workers/docker-prod.yaml:/app/configs/worker.yaml
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
|
|
|||
Loading…
Reference in a new issue