@oktis-works/cms 0.4.22 → 0.4.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/assets.d.ts CHANGED
@@ -12,7 +12,7 @@ export declare const ASSET_MIRROR: {
12
12
  * processo escolhido pelo `command` do compose. Quatro Dockerfiles seriam
13
13
  * quatro builds idênticos consumindo o mesmo node_modules.
14
14
  */
15
- export declare const DOCKERFILE = "# syntax=docker/dockerfile:1\n# @oktis-works - Single OkCMS image (entrypoints: api | admin | web | worker)\n#\n# Generated by the CLI scaffold. Canonical at\n# infrastructure/docker/Dockerfile in this monorepo.\n#\n# SECURITY: the command-line tool never enters this image. The container\n# exposes only the application processes \u2014 no package installer, no Docker\n# socket access, no way to change its own state. Deploy and configuration\n# always run on the host.\nFROM oven/bun:1-alpine AS base\nWORKDIR /app\nENV NODE_ENV=production\n\n# --- dependencies -----------------------------------------------------------\n# Manifest + lock first: changing just the code does not invalidate\n# this `install`.\nFROM base AS deps\nCOPY package.json bun.lock* package-lock.json* yarn.lock* pnpm-lock.yaml* ./\nRUN bun install --production --frozen-lockfile\n\n# --- runtime ----------------------------------------------------------------\nFROM base AS runtime\n# 1. project code (.dockerignore drops .env, node_modules and .data)\nCOPY . .\n# 2. clean node_modules from the deps stage, on top \u2014 never the host's\nCOPY --from=deps /app/node_modules ./node_modules\n\nRUN mkdir -p /app/.data/storage /app/.data/cache /app/logs\n\nEXPOSE 3000 3001 3011\n\n# `docker compose ... command: api` picks the role; see docker/entrypoint.sh\nENTRYPOINT [\"/app/docker/entrypoint.sh\"]\nCMD [\"api\"]\n";
15
+ export declare const DOCKERFILE = "# syntax=docker/dockerfile:1\n# @oktis-works - Single OkCMS image (entrypoints: api | admin | web | worker)\n#\n# Generated by the CLI scaffold. Canonical at\n# infrastructure/docker/Dockerfile in this monorepo.\n#\n# SECURITY: the command-line tool never enters this image. The container\n# exposes only the application processes \u2014 no package installer, no Docker\n# socket access, no way to change its own state. Deploy and configuration\n# always run on the host.\nFROM oven/bun:1-alpine AS base\nWORKDIR /app\nENV NODE_ENV=production\nENV UPLOAD_DIR=/app/.data/storage\n\n# --- dependencies -----------------------------------------------------------\n# Manifest + lock first: changing just the code does not invalidate\n# this `install`.\nFROM base AS deps\nCOPY package.json bun.lock* package-lock.json* yarn.lock* pnpm-lock.yaml* ./\nRUN bun install --production --frozen-lockfile\n\n# --- runtime ----------------------------------------------------------------\nFROM base AS runtime\n# 1. project code (.dockerignore drops .env, node_modules and .data)\nCOPY . .\n# 2. clean node_modules from the deps stage, on top \u2014 never the host's\nCOPY --from=deps /app/node_modules ./node_modules\n\nRUN mkdir -p /app/.data/storage /app/.data/cache /app/logs\n\nEXPOSE 3000 3001 3011\n\n# `docker compose ... command: api` picks the role; see docker/entrypoint.sh\nENTRYPOINT [\"/app/docker/entrypoint.sh\"]\nCMD [\"api\"]\n";
16
16
  /** Dispatcher de papéis. Fora da lista, executa o comando literal. */
17
17
  export declare const ENTRYPOINT_SH = "#!/bin/sh\n# @oktis-works - Single entrypoint of the okcms/app image\n#\n# Compose picks the role with `command: api|web|admin|worker`. Any other\n# value is passed through literally (`docker run okcms/app sh`), which keeps\n# the container inspectable without rewriting the image.\nset -eu\n\napi_entry=\"node_modules/@oktis-works/api/dist/index.js\"\nweb_entry=\"node_modules/@oktis-works/web/dist/index.js\"\nadmin_entry=\"node_modules/@oktis-works/admin/bin/admin.js\"\nworker_entry=\"node_modules/@oktis-works/worker/dist/index.js\"\n\ncase \"${1:-api}\" in\n api)\n shift\n exec bun \"$api_entry\" \"$@\"\n ;;\n web)\n shift\n exec bun \"$web_entry\" \"$@\"\n ;;\n admin)\n shift\n exec bun \"$admin_entry\" \"$@\"\n ;;\n worker)\n shift\n exec bun \"$worker_entry\" \"$@\"\n ;;\n *)\n exec \"$@\"\n ;;\nesac\n";
18
18
  /**
@@ -33,7 +33,7 @@ export declare const COMPOSE_INFRA = "# @oktis-works - Shared infrastructure of
33
33
  * `-p okcms-blue` ou `-p okcms-green`. Os containers herdam o prefixo
34
34
  * `okcms-<lane>-`, que é exatamente o que os upstreams do nginx apontam.
35
35
  */
36
- export declare const COMPOSE_DEPLOY = "# @oktis-works - OkCMS blue/green lanes\n# Generated by the CLI. Canonical at\n# infrastructure/compose/docker-compose.deploy.yml\n#\n# ONE FILE, TWO Docker projects. The lane is the project name:\n#\n# docker compose -p okcms-blue -f docker-compose.deploy.yml up -d --build\n# docker compose -p okcms-green -f docker-compose.deploy.yml up -d --build\n#\n# Containers are okcms-<lane>-<service> \u2014 the nginx upstreams point at\n# those names (generated in deploy/nginx/conf.d/00-upstreams.conf).\n#\n# The okcms-net network is EXTERNAL (created by docker-compose.infra.yml)\n# and the infra services are NOT listed here on purpose: without that,\n# `down` of a lane would take the database down with the old lane.\n#\n# Roles (label okcms.role, read by `okcms update`):\n# edge api/web/admin \u2192 fully replaced on each deploy (blue/green)\n# worker BullMQ queue \u2192 NEVER blue/green; drained with SIGTERM on swap\n# data postgres/redis\u2192 untouchable; they live in docker-compose.infra.yml\n#\n# NB: a lane `down` removes CONTAINERS and NETWORKS, but never passes -v\n# (`-v` would wipe the okcms-storage volume shared by blue and green, the\n# one that keeps media alive across deploys).\n\nx-app: &app\n image: okcms/app:${OKCMS_VERSION:-latest}\n build:\n context: .\n dockerfile: docker/Dockerfile\n env_file:\n # .env first (operator ports) \u2014 the environment below overrides\n - .env\n restart: unless-stopped\n networks: [okcms]\n environment:\n NODE_ENV: production\n DB_HOST: postgres\n REDIS_HOST: redis\n volumes:\n - ./plugins:/app/plugins\n - ./themes:/app/themes\n # media shared by both lanes: a deploy never loses files\n - storage-data:/app/.data/storage\n - cache-data:/app/.data/cache\n\nx-api-health: &api-health\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.PORT||3000)+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 25s\n\nx-web-health: &web-health\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.WEB_PORT||3001)+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 25s\n\nx-admin-health: &admin-health\n # the admin is an Astro standalone: it serves / and has no /health endpoint\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.PORT||3011)+'/').then(r=>process.exit(r.status<500?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 30s\n\nservices:\n # ---------------------------------------------------------------- api\n api-blue:\n <<: *app\n container_name: okcms-api-blue\n command: [\"api\"]\n labels:\n okcms.role: edge\n okcms.lane: blue\n okcms.service: api\n healthcheck: *api-health\n\n api-green:\n <<: *app\n container_name: okcms-api-green\n command: [\"api\"]\n labels:\n okcms.role: edge\n okcms.lane: green\n okcms.service: api\n healthcheck: *api-health\n\n # ---------------------------------------------------------------- web\n web-blue:\n <<: *app\n container_name: okcms-web-blue\n command: [\"web\"]\n labels:\n okcms.role: edge\n okcms.lane: blue\n okcms.service: web\n healthcheck: *web-health\n\n web-green:\n <<: *app\n container_name: okcms-web-green\n command: [\"web\"]\n labels:\n okcms.role: edge\n okcms.lane: green\n okcms.service: web\n healthcheck: *web-health\n\n # -------------------------------------------------------------- admin\n # admin reads `PORT` (astro standalone), not `ADMIN_PORT`: a service\n # level environment replaces the merged anchor one, so the three shared\n # ones are repeated.\n admin-blue:\n <<: *app\n container_name: okcms-admin-blue\n command: [\"admin\"]\n environment:\n NODE_ENV: production\n DB_HOST: postgres\n REDIS_HOST: redis\n PORT: ${ADMIN_PORT:-3011}\n labels:\n okcms.role: edge\n okcms.lane: blue\n okcms.service: admin\n healthcheck: *admin-health\n\n admin-green:\n <<: *app\n container_name: okcms-admin-green\n command: [\"admin\"]\n environment:\n NODE_ENV: production\n DB_HOST: postgres\n REDIS_HOST: redis\n PORT: ${ADMIN_PORT:-3011}\n labels:\n okcms.role: edge\n okcms.lane: green\n okcms.service: admin\n healthcheck: *admin-health\n\n # ------------------------------------------------------------- worker\n # a queue cannot take two \"ghost\" instances: the worker starts only after\n # the swap and the old lane's worker drains with SIGTERM\n # (stop_grace_period) first.\n worker-blue:\n <<: *app\n container_name: okcms-worker-blue\n command: [\"worker\"]\n stop_grace_period: 30s\n labels:\n okcms.role: worker\n okcms.lane: blue\n okcms.service: worker\n\n worker-green:\n <<: *app\n container_name: okcms-worker-green\n command: [\"worker\"]\n stop_grace_period: 30s\n labels:\n okcms.role: worker\n okcms.lane: green\n okcms.service: worker\n\nnetworks:\n okcms:\n name: okcms-net\n external: true\n\nvolumes:\n # shared between blue and green on purpose: media survives the deploy\n storage-data:\n name: okcms-storage\n cache-data:\n name: okcms-cache\n";
36
+ export declare const COMPOSE_DEPLOY = "# @oktis-works - OkCMS blue/green lanes\n# Generated by the CLI. Canonical at\n# infrastructure/compose/docker-compose.deploy.yml\n#\n# ONE FILE, TWO Docker projects. The lane is the project name:\n#\n# docker compose -p okcms-blue -f docker-compose.deploy.yml up -d --build\n# docker compose -p okcms-green -f docker-compose.deploy.yml up -d --build\n#\n# Containers are okcms-<lane>-<service> \u2014 the nginx upstreams point at\n# those names (generated in deploy/nginx/conf.d/00-upstreams.conf).\n#\n# The okcms-net network is EXTERNAL (created by docker-compose.infra.yml)\n# and the infra services are NOT listed here on purpose: without that,\n# `down` of a lane would take the database down with the old lane.\n#\n# Roles (label okcms.role, read by `okcms update`):\n# edge api/web/admin \u2192 fully replaced on each deploy (blue/green)\n# worker BullMQ queue \u2192 NEVER blue/green; drained with SIGTERM on swap\n# data postgres/redis\u2192 untouchable; they live in docker-compose.infra.yml\n#\n# NB: a lane `down` removes CONTAINERS and NETWORKS, but never passes -v\n# (`-v` would wipe the okcms-storage volume shared by blue and green, the\n# one that keeps media alive across deploys).\n\nx-app: &app\n image: okcms/app:${OKCMS_VERSION:-latest}\n build:\n context: .\n dockerfile: docker/Dockerfile\n env_file:\n # .env first (operator ports) \u2014 the environment below overrides\n - .env\n restart: unless-stopped\n networks: [okcms]\n environment:\n NODE_ENV: production\n DB_HOST: postgres\n REDIS_HOST: redis\n UPLOAD_DIR: /app/.data/storage\n volumes:\n - ./plugins:/app/plugins\n - ./themes:/app/themes\n # media shared by both lanes: a deploy never loses files\n - storage-data:/app/.data/storage\n - cache-data:/app/.data/cache\n\nx-api-health: &api-health\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.PORT||3000)+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 25s\n\nx-web-health: &web-health\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.WEB_PORT||3001)+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 25s\n\nx-admin-health: &admin-health\n # the admin is an Astro standalone: it serves / and has no /health endpoint\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.PORT||3011)+'/').then(r=>process.exit(r.status<500?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 30s\n\nservices:\n # ---------------------------------------------------------------- api\n api-blue:\n <<: *app\n container_name: okcms-api-blue\n command: [\"api\"]\n labels:\n okcms.role: edge\n okcms.lane: blue\n okcms.service: api\n healthcheck: *api-health\n\n api-green:\n <<: *app\n container_name: okcms-api-green\n command: [\"api\"]\n labels:\n okcms.role: edge\n okcms.lane: green\n okcms.service: api\n healthcheck: *api-health\n\n # ---------------------------------------------------------------- web\n web-blue:\n <<: *app\n container_name: okcms-web-blue\n command: [\"web\"]\n labels:\n okcms.role: edge\n okcms.lane: blue\n okcms.service: web\n healthcheck: *web-health\n\n web-green:\n <<: *app\n container_name: okcms-web-green\n command: [\"web\"]\n labels:\n okcms.role: edge\n okcms.lane: green\n okcms.service: web\n healthcheck: *web-health\n\n # -------------------------------------------------------------- admin\n # admin reads `PORT` (astro standalone), not `ADMIN_PORT`: a service\n # level environment replaces the merged anchor one, so the three shared\n # ones are repeated.\n admin-blue:\n <<: *app\n container_name: okcms-admin-blue\n command: [\"admin\"]\n environment:\n NODE_ENV: production\n DB_HOST: postgres\n REDIS_HOST: redis\n PORT: ${ADMIN_PORT:-3011}\n UPLOAD_DIR: /app/.data/storage\n labels:\n okcms.role: edge\n okcms.lane: blue\n okcms.service: admin\n healthcheck: *admin-health\n\n admin-green:\n <<: *app\n container_name: okcms-admin-green\n command: [\"admin\"]\n environment:\n NODE_ENV: production\n DB_HOST: postgres\n REDIS_HOST: redis\n PORT: ${ADMIN_PORT:-3011}\n UPLOAD_DIR: /app/.data/storage\n labels:\n okcms.role: edge\n okcms.lane: green\n okcms.service: admin\n healthcheck: *admin-health\n\n # ------------------------------------------------------------- worker\n # a queue cannot take two \"ghost\" instances: the worker starts only after\n # the swap and the old lane's worker drains with SIGTERM\n # (stop_grace_period) first.\n worker-blue:\n <<: *app\n container_name: okcms-worker-blue\n command: [\"worker\"]\n stop_grace_period: 30s\n labels:\n okcms.role: worker\n okcms.lane: blue\n okcms.service: worker\n\n worker-green:\n <<: *app\n container_name: okcms-worker-green\n command: [\"worker\"]\n stop_grace_period: 30s\n labels:\n okcms.role: worker\n okcms.lane: green\n okcms.service: worker\n\nnetworks:\n okcms:\n name: okcms-net\n external: true\n\nvolumes:\n # shared between blue and green on purpose: media survives the deploy\n storage-data:\n name: okcms-storage\n cache-data:\n name: okcms-cache\n";
37
37
  /**
38
38
  * The non-blue/green path: one Docker project (`okcms-app`) holding api, web,
39
39
  * admin and worker without lane suffixes. `up -d --build` recreates only what
@@ -43,7 +43,7 @@ export declare const COMPOSE_DEPLOY = "# @oktis-works - OkCMS blue/green lanes\n
43
43
  * Network and volumes are the same ones the lanes use, so storage (media)
44
44
  * survives a switch between simple mode and blue/green.
45
45
  */
46
- export declare const COMPOSE_APP = "# @oktis-works - Simple container stack of OkCMS\n# Generated by the CLI.\n#\n# One Docker project, no lanes, no swap:\n#\n# docker compose -p okcms-app -f docker-compose.app.yml up -d --build\n#\n# Containers are okcms-api / okcms-web / okcms-admin / okcms-worker \u2014 the\n# nginx upstreams (deploy/nginx/conf.d/00-upstreams.conf) point at them.\n# Use `okcms deploy` to pick this mode, or blue/green for zero-downtime.\n#\n# Network okcms-net is EXTERNAL (created by docker-compose.infra.yml), so\n# `down` of this stack never touches postgres, redis or the proxy.\n\nx-app: &app\n image: okcms/app:${OKCMS_VERSION:-latest}\n build:\n context: .\n dockerfile: docker/Dockerfile\n env_file:\n - .env\n restart: unless-stopped\n networks: [okcms]\n environment:\n NODE_ENV: production\n DB_HOST: postgres\n REDIS_HOST: redis\n volumes:\n - ./plugins:/app/plugins\n - ./themes:/app/themes\n - storage-data:/app/.data/storage\n - cache-data:/app/.data/cache\n\nx-api-health: &api-health\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.PORT||3000)+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 25s\n\nx-web-health: &web-health\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.WEB_PORT||3001)+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 25s\n\nx-admin-health: &admin-health\n # the admin is an Astro standalone: it serves / and has no /health endpoint\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.PORT||3011)+'/').then(r=>process.exit(r.status<500?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 30s\n\nservices:\n api:\n <<: *app\n container_name: okcms-api\n command: [\"api\"]\n labels:\n okcms.role: edge\n okcms.service: api\n healthcheck: *api-health\n\n web:\n <<: *app\n container_name: okcms-web\n command: [\"web\"]\n labels:\n okcms.role: edge\n okcms.service: web\n healthcheck: *web-health\n\n # the admin reads `PORT` (astro standalone), not `ADMIN_PORT`: a service\n # level environment replaces the merged anchor one, so it is repeated here.\n admin:\n <<: *app\n container_name: okcms-admin\n command: [\"admin\"]\n environment:\n NODE_ENV: production\n DB_HOST: postgres\n REDIS_HOST: redis\n PORT: ${ADMIN_PORT:-3011}\n labels:\n okcms.role: edge\n okcms.service: admin\n healthcheck: *admin-health\n\n worker:\n <<: *app\n container_name: okcms-worker\n command: [\"worker\"]\n stop_grace_period: 30s\n labels:\n okcms.role: worker\n okcms.service: worker\n\nnetworks:\n okcms:\n name: okcms-net\n external: true\n\nvolumes:\n # same names as the lanes: media survives switching deploy modes\n storage-data:\n name: okcms-storage\n cache-data:\n name: okcms-cache\n";
46
+ export declare const COMPOSE_APP = "# @oktis-works - Simple container stack of OkCMS\n# Generated by the CLI.\n#\n# One Docker project, no lanes, no swap:\n#\n# docker compose -p okcms-app -f docker-compose.app.yml up -d --build\n#\n# Containers are okcms-api / okcms-web / okcms-admin / okcms-worker \u2014 the\n# nginx upstreams (deploy/nginx/conf.d/00-upstreams.conf) point at them.\n# Use `okcms deploy` to pick this mode, or blue/green for zero-downtime.\n#\n# Network okcms-net is EXTERNAL (created by docker-compose.infra.yml), so\n# `down` of this stack never touches postgres, redis or the proxy.\n\nx-app: &app\n image: okcms/app:${OKCMS_VERSION:-latest}\n build:\n context: .\n dockerfile: docker/Dockerfile\n env_file:\n - .env\n restart: unless-stopped\n networks: [okcms]\n environment:\n NODE_ENV: production\n DB_HOST: postgres\n REDIS_HOST: redis\n volumes:\n - ./plugins:/app/plugins\n - ./themes:/app/themes\n - storage-data:/app/.data/storage\n - cache-data:/app/.data/cache\n\nx-api-health: &api-health\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.PORT||3000)+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 25s\n\nx-web-health: &web-health\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.WEB_PORT||3001)+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 25s\n\nx-admin-health: &admin-health\n # the admin is an Astro standalone: it serves / and has no /health endpoint\n test:\n - CMD\n - bun\n - -e\n - \"fetch('http://127.0.0.1:'+(process.env.PORT||3011)+'/').then(r=>process.exit(r.status<500?0:1)).catch(()=>process.exit(1))\"\n interval: 10s\n timeout: 5s\n retries: 12\n start_period: 30s\n\nservices:\n api:\n <<: *app\n container_name: okcms-api\n command: [\"api\"]\n labels:\n okcms.role: edge\n okcms.service: api\n healthcheck: *api-health\n\n web:\n <<: *app\n container_name: okcms-web\n command: [\"web\"]\n labels:\n okcms.role: edge\n okcms.service: web\n healthcheck: *web-health\n\n # the admin reads `PORT` (astro standalone), not `ADMIN_PORT`: a service\n # level environment replaces the merged anchor one, so it is repeated here.\n admin:\n <<: *app\n container_name: okcms-admin\n command: [\"admin\"]\n environment:\n NODE_ENV: production\n DB_HOST: postgres\n REDIS_HOST: redis\n PORT: ${ADMIN_PORT:-3011}\n UPLOAD_DIR: /app/.data/storage\n labels:\n okcms.role: edge\n okcms.service: admin\n healthcheck: *admin-health\n\n worker:\n <<: *app\n container_name: okcms-worker\n command: [\"worker\"]\n stop_grace_period: 30s\n labels:\n okcms.role: worker\n okcms.service: worker\n\nnetworks:\n okcms:\n name: okcms-net\n external: true\n\nvolumes:\n # same names as the lanes: media survives switching deploy modes\n storage-data:\n name: okcms-storage\n cache-data:\n name: okcms-cache\n";
47
47
  /**
48
48
  * Roteamento production. Os upstreams ficam em arquivo SEPARADO
49
49
  * (`00-upstreams.conf`) justamente para que o swap seja uma reescrita de um
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAaA,2DAA2D;AAC3D,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAMX;;;;GAIG;AACH,eAAO,MAAM,UAAU,03CAmCtB,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,aAAa,o2BAkCzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,8hCA+DxB,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,aAAa,y3FA+FzB,CAAC;AAMF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,q5KAgM1B,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,4jGA0HvB,CAAC;AAMF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,8gLAgK1B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpC,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,sBAAsB,EAAE,aAAqD,CAAC;AAE3F;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAE,aAAsC,GAAG,MAAM,CAqBjG;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,GAAE,aAAsC,GAAG,MAAM,CAoB3F;AAMD,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX,yEAAyE;AACzE,eAAO,MAAM,eAAe,qCAAqC,CAAC;AAElE,oEAAoE;AACpE,eAAO,MAAM,gBAAgB,UAM5B,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAU1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,IAAI,GAAE,IAAa,EACnB,KAAK,GAAE,aAAsC,GAC5C,YAAY,EAAE,CAWhB"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAaA,2DAA2D;AAC3D,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAMX;;;;GAIG;AACH,eAAO,MAAM,UAAU,65CAoCtB,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,aAAa,o2BAkCzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,8hCA+DxB,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,aAAa,y3FA+FzB,CAAC;AAMF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,qgLAmM1B,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,kmGA2HvB,CAAC;AAMF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,8gLAgK1B,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpC,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,sBAAsB,EAAE,aAAqD,CAAC;AAE3F;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAE,aAAsC,GAAG,MAAM,CAqBjG;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,GAAE,aAAsC,GAAG,MAAM,CAoB3F;AAMD,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX,yEAAyE;AACzE,eAAO,MAAM,eAAe,qCAAqC,CAAC;AAElE,oEAAoE;AACpE,eAAO,MAAM,gBAAgB,UAM5B,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAU1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,IAAI,GAAE,IAAa,EACnB,KAAK,GAAE,aAAsC,GAC5C,YAAY,EAAE,CAWhB"}
package/dist/assets.js CHANGED
@@ -40,6 +40,7 @@ export const DOCKERFILE = `# syntax=docker/dockerfile:1
40
40
  FROM oven/bun:1-alpine AS base
41
41
  WORKDIR /app
42
42
  ENV NODE_ENV=production
43
+ ENV UPLOAD_DIR=/app/.data/storage
43
44
 
44
45
  # --- dependencies -----------------------------------------------------------
45
46
  # Manifest + lock first: changing just the code does not invalidate
@@ -320,6 +321,7 @@ x-app: &app
320
321
  NODE_ENV: production
321
322
  DB_HOST: postgres
322
323
  REDIS_HOST: redis
324
+ UPLOAD_DIR: /app/.data/storage
323
325
  volumes:
324
326
  - ./plugins:/app/plugins
325
327
  - ./themes:/app/themes
@@ -417,6 +419,7 @@ services:
417
419
  DB_HOST: postgres
418
420
  REDIS_HOST: redis
419
421
  PORT: \${ADMIN_PORT:-3011}
422
+ UPLOAD_DIR: /app/.data/storage
420
423
  labels:
421
424
  okcms.role: edge
422
425
  okcms.lane: blue
@@ -432,6 +435,7 @@ services:
432
435
  DB_HOST: postgres
433
436
  REDIS_HOST: redis
434
437
  PORT: \${ADMIN_PORT:-3011}
438
+ UPLOAD_DIR: /app/.data/storage
435
439
  labels:
436
440
  okcms.role: edge
437
441
  okcms.lane: green
@@ -583,6 +587,7 @@ services:
583
587
  DB_HOST: postgres
584
588
  REDIS_HOST: redis
585
589
  PORT: \${ADMIN_PORT:-3011}
590
+ UPLOAD_DIR: /app/.data/storage
586
591
  labels:
587
592
  okcms.role: edge
588
593
  okcms.service: admin
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
package/dist/pm2.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pm2.d.ts","sourceRoot":"","sources":["../src/pm2.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmDjD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA2BD,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiGvE"}
1
+ {"version":3,"file":"pm2.d.ts","sourceRoot":"","sources":["../src/pm2.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA6DjD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA2BD,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiGvE"}
package/dist/pm2.js CHANGED
@@ -19,13 +19,23 @@ import { defaultRunner } from './docker.js';
19
19
  const PM2_ECOSYSTEM_TEMPLATE = `// ecosystem.config.js — generated by okcms deploy (PM2)
20
20
  // Edit as needed and run: pm2 reload all
21
21
 
22
+ const path = require('node:path');
23
+ let storagePath = process.env.STORAGE_LOCAL_PATH || '.data/storage';
24
+ try {
25
+ const project = require('./okcms.config.json');
26
+ storagePath = project.storage?.localPath || storagePath;
27
+ } catch {
28
+ // The default keeps projects without okcms.config.json working.
29
+ }
30
+ const uploadDir = path.isAbsolute(storagePath) ? storagePath : path.resolve(__dirname, storagePath);
31
+
22
32
  module.exports = {
23
33
  apps: [
24
34
  {
25
35
  name: 'okcms-api',
26
36
  script: 'bunx',
27
37
  args: '@oktis-works/api',
28
- env: { NODE_ENV: 'production', PORT: 3000 },
38
+ env: { NODE_ENV: 'production', PORT: 3000, UPLOAD_DIR: uploadDir },
29
39
  instances: 1,
30
40
  autorestart: true,
31
41
  watch: false,
@@ -35,7 +45,7 @@ module.exports = {
35
45
  name: 'okcms-admin',
36
46
  script: 'bunx',
37
47
  args: '@oktis-works/admin',
38
- env: { NODE_ENV: 'production', PORT: 3011 },
48
+ env: { NODE_ENV: 'production', PORT: 3011, PUBLIC_API_URL: process.env.PUBLIC_API_URL || 'http://localhost:3000' },
39
49
  instances: 1,
40
50
  autorestart: true,
41
51
  watch: false,
@@ -55,7 +65,7 @@ module.exports = {
55
65
  name: 'okcms-worker',
56
66
  script: 'bunx',
57
67
  args: '@oktis-works/worker',
58
- env: { NODE_ENV: 'production', WORKER_MODE: 'pm2' },
68
+ env: { NODE_ENV: 'production', WORKER_MODE: 'pm2', UPLOAD_DIR: uploadDir },
59
69
  instances: 1,
60
70
  autorestart: true,
61
71
  watch: false,
package/dist/pm2.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pm2.js","sourceRoot":"","sources":["../src/pm2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pm2.js","sourceRoot":"","sources":["../src/pm2.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAyCA,wBAAsB,YAAY,CAAC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDtF"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAyCA,wBAAsB,YAAY,CAAC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DtF"}
package/dist/start.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // @oktis-works/cms - Project Start (API + Admin + Web)
2
2
  import { spawn } from 'node:child_process';
3
- import { join } from 'node:path';
3
+ import { isAbsolute, join, resolve } from 'node:path';
4
4
  import { loadEnvFile } from './env-file.js';
5
5
  import { loadProjectConfig } from './project-config.js';
6
6
  import { clearPids, recordPid } from './runtime-state.js';
@@ -44,11 +44,17 @@ export async function startProject(options = {}) {
44
44
  const includeWeb = defaultAll || options['web'] !== undefined || options['all'] !== undefined;
45
45
  const includeWorker = defaultAll || options['worker'] !== undefined || options['all'] !== undefined;
46
46
  process.env['ACTIVE_THEME'] = config.activeTheme || process.env['ACTIVE_THEME'] || '';
47
+ const mediaEnv = {};
48
+ if (config.storage.driver === 'local') {
49
+ mediaEnv['UPLOAD_DIR'] = process.env['UPLOAD_DIR'] || (isAbsolute(config.storage.localPath ?? '')
50
+ ? config.storage.localPath
51
+ : resolve(process.cwd(), config.storage.localPath ?? '.data/storage'));
52
+ }
47
53
  if (onlyApi) {
48
- spawnApp('api', 'bunx', ['@oktis-works/api'], { PORT: String(config.ports.api) });
54
+ spawnApp('api', 'bunx', ['@oktis-works/api'], { PORT: String(config.ports.api), ...mediaEnv });
49
55
  }
50
56
  else {
51
- spawnApp('api', 'bunx', ['@oktis-works/api'], { PORT: String(config.ports.api) });
57
+ spawnApp('api', 'bunx', ['@oktis-works/api'], { PORT: String(config.ports.api), ...mediaEnv });
52
58
  if (includeAdmin) {
53
59
  // Empty PUBLIC_API_URL must not make the Admin call itself on :3011.
54
60
  // This also keeps `okcms start` consistent across WSL, Linux and Windows.
@@ -62,7 +68,7 @@ export async function startProject(options = {}) {
62
68
  if (includeWorker) {
63
69
  // Filas/jobs (bullmq) — REDIS_* vem do .env do projeto. Sem Redis, o
64
70
  // worker só loga erros de conexão; os demais apps seguem rodando.
65
- spawnApp('worker', 'bunx', ['@oktis-works/worker'], {});
71
+ spawnApp('worker', 'bunx', ['@oktis-works/worker'], mediaEnv);
66
72
  }
67
73
  }
68
74
  const shutdown = () => {
package/dist/start.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oktis-works/cms",
3
- "version": "0.4.22",
3
+ "version": "0.4.23",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",