CKAN web real en local (Fase 1 hecha)
Fecha: 2026-09-11. Pide: “genera el uso de ckan web”.
Decisión: CKAN 2.11 en Docker, solo local
infra/docker-compose.yml: db (postgis 15) + solr (ckan/ckan-solr:2.11-solr9) +
redis 7 + ckan (ckan/ckan-base:2.11).
Hallazgos (caros, no repetir):
ckan-basesolo publica amd64 →platform: linux/amd64(emulación en Apple Silicon, lento pero sirve).- Puerto 5000 ocupado por AirPlay en macOS → CKAN en :5001 (
CKAN_SITE_URLacorde). recline_viewya no existe en 2.11 → plugins:image_view text_view datastore.- Faltaba
CKAN_SQLALCHEMY_URLexplícito en el compose. - Hay que crear BD
datastore+ roldatastore_ro+datastore set-permissionsa mano (el prerun no lo hace solo). - Credenciales dev en
infra/.env(gitignored, ver.env.example).
Carga
scripts/push_ckan.py (stdlib+requests, sin ckanapi): crea org twitter-archivo,
purga y recrea los 2 datasets desde datasets/*/datapackage.json, sube 6 CSVs.
Ojo: la API necesita JSON, no form-data, para payloads anidados.
cd infra
docker compose up -d
TOKEN=$(docker compose exec -T ckan ckan -c /srv/app/ckan.ini user token add admin ckan-datos | tail -1)
CKAN_URL=http://localhost:5001 CKAN_TOKEN=$TOKEN python3 ../scripts/push_ckan.pyEstado
http://localhost:5001 — 2 datasets, 6 recursos, búsqueda Solr OK.
DataStore cargado (scripts/load_datastore.py, 6/6 recursos con tipos int/text)
- vista datatables_view por recurso: tablas estilo INEGI/Banxico
(ordenar, filtrar, paginar) + dumps multiformato vía
datastore_dump. Sin datapusher (innecesario: CSVs chicos, carga directa por API). El portal de Vercel (ckan-datos.vercel.app) sigue como espejo público lite.