Cheat Sheet de configuración

Todo lo que necesitas para configurar Crisol-RX: el archivo crisol.json, modo servidor, HTTPS, cifrado y comandos esenciales.

🚀 Primer arranque

Descarga el archivo de tu sistema y ejecútalo. No hay instalación.

# macOS / Linux: dar permiso de ejecución y arrancar
chmod +x crisol-*
./crisol-*

# Windows: doble clic en crisol-windows-amd64.exe

Se abre solo en el navegador. Entra como admin: la contraseña inicial aparece una sola vez en la consola al arrancar por primera vez. Cámbiala desde el menú lateral.

💡
Tip: ejecútalo desde una carpeta tuya (no desde Descargas ni una carpeta sincronizada en la nube), para que pueda crear su base de datos sin problemas.

⚙️ El archivo crisol.json

Se crea solo junto al ejecutable en el primer arranque. Edítalo con cualquier editor de texto y reinicia la app para aplicar los cambios.

{
  "listen": "127.0.0.1:8723",
  "db": "",
  "org_name": "",
  "open_browser": true,
  "secure_cookies": false,
  "allowed_hosts": [],
  "tls_enabled": false,
  "cert_file": "",
  "key_file": "",
  "encrypt_db": false,
  "db_passphrase": ""
}
Campo Qué hace
listen Dónde escucha. 127.0.0.1:8723 = solo tu equipo. 0.0.0.0:8723 = accesible desde la red.
db Ruta del archivo de datos. Vacío = junto al ejecutable.
org_name Nombre de tu entidad. Aparece junto al logo y en los informes.
open_browser Abrir el navegador automáticamente al arrancar.
secure_cookies Marca las cookies como seguras. Se activa solo bajo HTTPS.
allowed_hosts Dominios extra permitidos si entras por nombre, p. ej. ["crisol.miempresa.local"].
tls_enabled Activa HTTPS. Ver sección correspondiente.
cert_file / key_file Tu certificado propio. Vacíos = se genera uno automático.
encrypt_db Cifra tus datos en reposo.
db_passphrase Contraseña del cifrado.

⌨️ Flags de arranque

Opciones de línea de comandos. Tienen prioridad sobre el crisol.json.

./crisol                          # arranca según crisol.json
./crisol -addr 127.0.0.1:9000     # otra dirección/puerto
./crisol -db /ruta/otra.db        # otra base de datos
./crisol -config /ruta/otra.json  # otra configuración
./crisol -no-open                 # no abrir el navegador

🌐 Levantarlo como servidor en red

Para que otros equipos de tu red entren a la misma instancia.

{
  "listen": "0.0.0.0:8723"
}

Los demás acceden por http://<IP-del-servidor>:8723. Averigua tu IP con ipconfig (Windows) o ip a / ifconfig (Linux/macOS).

⚠️
Sin HTTPS el tráfico va en claro. Úsalo solo en una red de confianza y activa el cifrado de comunicaciones (siguiente sección). Cambia antes la contraseña de admin.

🔐 HTTPS opcional

Cifra las comunicaciones. Con tu certificado propio o uno automático.

{
  "listen": "0.0.0.0:8723",
  "tls_enabled": true,
  "cert_file": "",
  "key_file": ""
}
Escenario Qué poner
Certificado automático Deja cert_file y key_file vacíos: se genera uno solo. El navegador avisará la primera vez (normal en red interna).
Certificado propio Indica las rutas de tu certificado y su clave en cert_file y key_file.
💡
Bajo HTTPS, el acceso es por https://<IP>:8723 y las cookies se marcan seguras automáticamente.

🔒 Cifrado de tus datos opcional

Con la app cerrada, tus datos quedan ilegibles para terceros.

{
  "encrypt_db": true,
  "db_passphrase": "una-frase-larga-y-secreta"
}
🔑
¿No ves el archivo cifrado? Es normal: se crea al cerrar la app con Ctrl-C, no al arrancar. Mientras trabajas, los datos están descifrados; al cerrar ordenadamente se cifran y se borra la copia en claro.
🚨
Cierra siempre con Ctrl-C. Si matas el proceso de golpe, el cifrado no se ejecuta. Y guarda bien la passphrase: si la pierdes, los datos no se recuperan.
🛡️
Opción más segura: en vez de poner la passphrase en el crisol.json, déjala vacía y pásala por variable de entorno al arrancar — así no queda en disco:
CRISOL_KEY='tu-passphrase' ./crisol

Abrir y consultar tus datos a mano

# Descifrar (pide la passphrase o usa la variable CRISOL_KEY)
CRISOL_KEY='tu-passphrase' ./crisol -decrypt crisol.db.enc -out crisol.db

# Consultar con cualquier cliente SQLite
sqlite3 crisol.db ".tables"

# Volver a cifrar y borrar la copia en claro
CRISOL_KEY='tu-passphrase' ./crisol -encrypt crisol.db -out crisol.db.enc
rm -f crisol.db crisol.db-wal crisol.db-shm

🔁 Cambiar la passphrase

Cambiar la frase en el crisol.json no basta si ya hay datos cifrados: el archivo sigue cerrado con la frase anterior.

# Con el servidor PARADO:
# 1) Descifra con la frase VIEJA
CRISOL_KEY='frase-vieja' ./crisol -decrypt crisol.db.enc -out crisol.db

# 2) Re-cifra con la frase NUEVA
CRISOL_KEY='frase-nueva' ./crisol -encrypt crisol.db -out crisol.db.enc

# 3) Borra la copia en claro
rm -f crisol.db crisol.db-wal crisol.db-shm

# 4) Pon la frase NUEVA en crisol.json
💡
Si todavía no has generado el archivo cifrado (no has cerrado con Ctrl-C con el cifrado activo), basta con editar db_passphrase en el crisol.json.

🧳 Mover entre PCs

Tus datos viajan contigo. Dos formas:

Llevarte todo

Cierra la app y copia la carpeta del ejecutable junto a su archivo de datos. En la otra máquina, ejecuta el archivo de esa plataforma. Listo.

Mover un solo cliente

Desde la app: Exportar un workspace → te da un archivo con todo (incluidas las capturas). En la otra instalación: Importar workspace y se recrea entero.

Buenas prácticas

🔑 Cambia la contraseña inicial de admin cuanto antes.
🌐 Si lo expones a la red, usa HTTPS y solo en redes de confianza.
🔒 Si activas el cifrado, guarda la passphrase en un gestor de contraseñas y protege el crisol.json.
Cierra siempre con Ctrl-C para que el cifrado y la limpieza se completen.
🙈 No subas a ningún sitio público tus archivos de datos, el crisol.json ni los certificados.
📦 Los exports de workspace contienen datos reales de clientes: trátalos como información sensible.