Hecho con Chinaski

FAQ

Respuestas rápidas a las preguntas que surgen con más frecuencia. Cada respuesta enlaza a la página completa que trata el tema a profundidad.

Primeros pasos

¿Dónde está mi interfaz de administración?

Las instalaciones estándar con systemd enlazan el CMS solo a loopback (127.0.0.1:3001 de forma predeterminada para la instancia 1) y ponen Caddy o nginx al frente, así que llegas al admin a través del dominio de admin de tu site. Las instalaciones quick y offline sirven el admin directamente en el puerto 8080 del host.

¿La compilación del site ocurre automáticamente cuando edito?

No . los builds son operaciones explícitas, despachadas desde el dashboard, mediante un webhook de build configurado, o ejecutadas a mano. Cada build queda registrado, y un fallo nunca sobrescribe tu site en vivo.

Instalé y me sigue enviando a /setup. Una instalación nueva trae una contraseña de admin de relleno, y cada solicitud se redirige a la página de setup hasta que establezcas una real (12+ caracteres con mayúsculas, minúsculas y dígitos). Una vez establecida, la página de setup desaparece.

¿El endpoint /health? Cada instancia expone un endpoint de salud para monitoreo: {"status":"ok","db":"ok"} en caso de éxito, 503 cuando la base de datos es inalcanzable.

Cuentas y acceso

¿Cuál es la diferencia entre admin y editor? Los admins gestionan usuarios, builds, configuraciones, API keys y todo el contenido. Los editores no pueden acceder a eso; su acceso puede limitarse aún más por tipos de contenido e idiomas permitidos.

¿Por qué un editor no puede publicar? Si el flujo de aprobación está habilitado (Settings → Workflow), los intentos de publicación de no-admins se convierten en enviar para revisión. Desactívalo para publicación directa.

¿Por qué todos quedan deslogueados después de cambiar el secret? La variable de entorno CHINASKI_SECRET firma las sesiones y deriva la clave que cifra las credenciales almacenadas. Rótala deliberadamente: las sesiones mueren de inmediato, y las configuraciones cifradas (contraseña SMTP, secrets) deben volver a guardarse después.

Estoy bloqueado por intentos de login fallidos. Los bloqueos son fijos por IP: 60 segundos después de 5 fallos, 5 minutos después de 10, 30 minutos después de 20 . y sobreviven a los reinicios. No se pueden ajustar en el área de administración; la configuración del umbral de fallos es solo para alertas en el registro de eventos.

Contenido y compilación

Los cambios no se muestran en el site. Publicar contenido actualiza la base de datos, no la salida estática . el site solo cambia cuando se ejecuta un build. Dispara uno desde el dashboard (o por API/webhook), luego revisa el estado del build y el historial de builds, incluidos los bloqueos de promotion guard.

Un build terminó pero el site se ve antiguo. Los builds promueven solo salida saludable: errores de render, violaciones del quality guard (caída del número de páginas, enlaces rotos, regresiones de accesibilidad), o fallos de manifest detienen la promoción y mantienen sirviendo el site anterior. El historial de builds muestra qué verificación se negó; puedes forzar una promoción para ese build si aceptas la regresión.

¿Cuánto puede durar un build? Los builds tienen un techo estricto de 30 minutos; un build que supera el tiempo se mata y deja la salida en vivo intacta.

¿Adónde fue mi entrada? El contenido eliminado va a la papelera, no directamente a la inexistencia; las purgas de elementos en la papelera se ejecutan periódicamente. Revisa la lista de Trash para restaurar.

Respaldos y recuperación

¿Qué se respalda? El respaldo diario del sistema captura la base de datos (retención de 14 días de forma predeterminada) y hace espejo de los medios. Los respaldos dentro de la aplicación crean archivos tar.gz completos (base de datos, medios, temas, plantillas), verificados después de su creación de forma predeterminada y opcionalmente enviados a DigitalOcean Spaces.

Restaurar en un host nuevo . ¿problemas de conexión? Restaura el archivo de entorno antiguo antes que nada: la clave de cifrado de las credenciales almacenadas se deriva de tu CHINASKI_SECRET, así que una base de datos restaurada abierta bajo un secret diferente pierde silenciosamente los secrets almacenados . establece primero el secret original. El runbook completo está en la página de disaster recovery.

Postura de seguridad

  • Las cookies de sesión están firmadas, Secure, HttpOnly y SameSite=Lax; los tokens CSRF protegen cada solicitud de administración que cambia estado; un nonce de CSP por solicitud bloquea los scripts en línea.
  • Las integraciones de salida se validan contra rangos de direcciones privados/internos (los webhooks no pueden apuntar a tu red interna), nunca siguen redirecciones y limitan el tamaño de la respuesta.
  • Los uploads se identifican por el contenido del archivo, no por la extensión; los uploads de SVG se rechazan por completo; la importación masiva de CSV está limitada (4 MiB, 5,000 filas, transacción única).

Puntas rápidas de solución de problemas

  • Los logs van al journal del sistema (con líneas JSON estructuradas para eventos de alta señal, incluidas las IPs de los clientes . el README documenta un fragmento de política de retención de journald que puedes adoptar para ajustarte a tu política de privacidad).
  • Un build está "busy" solo mientras se ejecuta uno; el lock expira por sí solo si un build muere sin reportarse.
  • Los conflictos de puertos / discrepancias de proxy tienen su propia página (ver Troubleshooting → Port Conflicts).

Honestidad del mapa de características

  • Sin ecosistema de plugins, sin arquitectura de hooks, sin marketplace de temas; sin editor drag-and-drop; sin Postgres (el multi-tenancy es un elemento del roadmap). Extender el sistema significa cambios de código, no instalaciones.
  • El core está licenciado bajo MIT.

Preguntas de idioma y multilingüismo

  • Múltiples idiomas, modos de URL por ruta/subdominio, alternates hreflang y un switcher de idioma estático vienen integrados y documentados en sus propias páginas. Las configuraciones por idioma cubren títulos de blog y textos del aviso de cookies, y la interfaz de administración misma viene localizada.
  • La publicación programada respeta la zona horaria del site; el contenido cuyo idioma elimines del conjunto activo no puede quedar "huérfano" . el admin se niega a la eliminación hasta que ese contenido se elimine o se reasigne.
Lee este sitio en