diff --git a/Dockerfile b/Dockerfile index eae00e1..68ec8a6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,8 +9,10 @@ ARG DATABASE_URL=file:data/fiscal.sqlite ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL} ENV DATABASE_URL=${DATABASE_URL} ENV NEXT_TELEMETRY_DISABLED=1 +ENV WORKFLOW_TARGET_WORLD=local +ENV WORKFLOW_LOCAL_DATA_DIR=/app/.workflow-data COPY . . -RUN mkdir -p public && bun run build +RUN mkdir -p public /app/.workflow-data && WORKFLOW_TARGET_WORLD=local bun run build FROM oven/bun:1.3.5-alpine AS runner WORKDIR /app @@ -19,6 +21,8 @@ ENV NODE_ENV=production ARG NEXT_PUBLIC_API_URL= ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL} ENV NEXT_TELEMETRY_DISABLED=1 +ENV WORKFLOW_TARGET_WORLD=local +ENV WORKFLOW_LOCAL_DATA_DIR=/app/.workflow-data COPY --from=builder /app/public ./public COPY --from=builder /app/.next/standalone ./ diff --git a/README.md b/README.md index 1863d5a..47c3820 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,8 @@ Operational constraints for Coolify: - Keep this service to a single instance/replica. SQLite is file-based and not appropriate for multi-replica shared-write deployments. - Ensure the two named volumes are persisted (`fiscal_sqlite_data`, `fiscal_workflow_data`). - Workflow Local queueing is in-memory; in-flight queued jobs may be lost on restarts. +- Docker build forces `WORKFLOW_TARGET_WORLD=local` to avoid stale Coolify build args referencing `@workflow/world-postgres`. +- Runtime Compose config also pins `WORKFLOW_TARGET_WORLD=local` for the same reason. ## Environment diff --git a/docker-compose.yml b/docker-compose.yml index 44edb57..9f0fd4f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,7 @@ services: OPENCLAW_API_KEY: ${OPENCLAW_API_KEY:-} OPENCLAW_MODEL: ${OPENCLAW_MODEL:-zeroclaw} SEC_USER_AGENT: ${SEC_USER_AGENT:-Fiscal Clone } - WORKFLOW_TARGET_WORLD: ${WORKFLOW_TARGET_WORLD:-local} + WORKFLOW_TARGET_WORLD: local WORKFLOW_LOCAL_DATA_DIR: ${WORKFLOW_LOCAL_DATA_DIR:-/app/.workflow-data} WORKFLOW_LOCAL_QUEUE_CONCURRENCY: ${WORKFLOW_LOCAL_QUEUE_CONCURRENCY:-100} volumes: