Author SHA1 Message Date
DavidSosa 65295c9fe1 docs: elimina menciones a Docker (workflow local descontinuado)
gitleaks / gitleaks (pull_request) Canceled after 0s
gitleaks / gitleaks (push) Canceled after 0s
El desarrollo local via Docker ya no se usa -- todo el trabajo es via Forge/MCP.
Mantener las menciones a localhost:8080, docker exec y .docker/ confundia sobre
el workflow real. Se deja el campo de respuesta 'dockerUrl' de generate_image tal
cual (es el nombre real que devuelve la API hoy, no una instruccion de workflow).
2026-09-16 10:51:32 +01:00
3 changed files with 11 additions and 34 deletions
+5 -30
View File
@@ -4,9 +4,9 @@ This is an Acai CMS website project. Follow these instructions when working with
## Environment
- The site runs in Docker, typically at **http://localhost:8080**
- You can make HTTP requests to test pages, APIs, or form submissions
- If you need to inspect the live site, use browser tools (Playwright MCP) or HTTP requests to localhost:8080
- The site runs on Acai Forge — get the live editable URL with the `get_web_url` MCP tool (never assume a fixed domain)
- You can make HTTP requests to test pages, APIs, or form submissions against that URL
- If you need to inspect the live site, use browser tools (Playwright MCP) or HTTP requests to the Forge URL
## Project Structure
@@ -28,13 +28,7 @@ This is an Acai CMS website project. Follow these instructions when working with
│ ├── data/schema/ # Database table schemas (JSON)
│ ├── lib/plugins/ # CMS plugins
│ └── uploads/ # Uploaded media files
├── .acai # Project config (domain, tokens, DB credentials)
├── .docker/
│ ├── .env # Docker environment (DB credentials)
│ ├── docker-compose.yml
│ ├── tunnel-url.txt # Public tunnel URL (if active)
│ └── bore-db-url.txt # Database tunnel URL (if active)
└── database.sql # Database dump
└── .acai # Project config (domain, tokens, DB credentials)
```
## Key Concepts
@@ -89,28 +83,9 @@ Rule of thumb:
See [docs/hooks-and-api.md](docs/hooks-and-api.md) for usage.
## Database Access
When the site is running in Docker, you can connect to the database:
- **Host:** `127.0.0.1`
- **Port:** Check `.docker/docker-compose.yml` for the mapped port (usually 3307+)
- **Credentials:** Read from `.docker/.env`:
- `DB_USERNAME`
- `DB_PASSWORD`
- `DB_DATABASE`
```bash
docker exec -it dw-<project-name>-db mysql -u root -p<password> <database>
```
**Important:** Table names in CmsApi/Twig do NOT use the `cms_` prefix. The primary key is always `num`, never `id`.
## Acai Core (web-base)
The project workspace contains only the **customization layer** (modules, hooks, schemas, uploads). The CMS core (routing, rendering engine, admin panel, APIs) lives in a separate directory called **web-base** that is mounted as a Docker volume.
The web-base path can be obtained via: `GET http://localhost:9090/api/web-base-path`
The project workspace contains only the **customization layer** (modules, hooks, schemas, uploads). The CMS core (routing, rendering engine, admin panel, APIs) lives in a separate, shared directory called **web-base**.
Do NOT modify web-base files — they are shared across all projects.
+1 -1
View File
@@ -471,7 +471,7 @@ El nombre del campo de imagen viene de `builder.json` → `vars.NOMBRE.relations
- `tableName`: `"builder_custom"` (siempre, sin prefijo cms_)
- `recordId`: el `recordNum` del paso 1 (ej: `"778"`)
- `fieldName`: el campo de relations del builder.json (ej: `"image1"`)
- `imageUrl`: URL completa accesible desde Docker
- `imageUrl`: URL completa y públicamente accesible
3. `reorder_record_uploads` si es necesario — pasar array de upload IDs en el orden deseado
4. `list_record_uploads` para verificar
+5 -3
View File
@@ -56,13 +56,15 @@ return [
### Testing Hooks
El Docker debe estar corriendo. Hacer curl al endpoint del hook:
Usa la URL editable de Forge del proyecto (`get_web_url`) — no hace falta ningún servidor local. Haz
`curl` al endpoint del hook contra esa URL:
```bash
curl http://localhost:8080/hooks/example_hook/
curl https://<tu-url-de-forge>/hooks/example_hook/
```
No usar X-Hooks-Token en desarrollo local.
Para diagnosticar sin depender del enrutado HTTP directo (que en Forge puede dar 404 — ver más abajo),
usa el patrón vía filtro `| hook` desde un módulo/página temporal.
### Cómo Llamar Hooks