¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Saltcorn
Saltcorn es una plataforma open-source y low-code diseñada para crear aplicaciones web personalizadas (como CRUDs, dashboards, formularios complejos o sistemas internos) sin necesidad de programar
Las notas aquí incluidas se centran en la versión 1.0.0 de Saltcorn.
Características
- Interfaz visual drag-and-drop:
- Arrastra y suelta elementos como formularios, tablas, gráficos o botones para diseñar tu app.
- No requiere conocimientos de programación, aunque permite añadir código JavaScript o SQL para personalización avanzada.
- Base de datos integrada:
- Usa PostgreSQL o SQLite para almacenar datos.
- Crea esquemas de datos personalizados (ej.: clientes, pedidos, facturas) con relaciones entre tablas.
- Templates y plugins:
- Plantillas preconstruidas para casos comunes (CRM, encuestas, blogs).
- Plugins para añadir funcionalidades como autenticación, mapas o notificaciones.
- Multiplataforma:
- Las apps creadas son responsive (funcionan en móviles, tablets y desktop).
- Soporta temas personalizables (CSS) para adaptar el diseño a tu marca.
- Self-hosting y privacidad:
- Descarga el código y autohospeda tus aplicaciones en tu propio servidor (ideal para empresas con políticas de datos estrictas).
- Licencia MIT (gratuita y open-source).
Instalación
Docker
Versión con SQLite
Necesitaremos un fichero .env con el siguiente contenido que podremos adaptar a nuestro gusto:
PGDATABASE=saltcorn PGUSER=postgres PGPASSWORD=postgres DOMAIN=localhost SALTCORN_SECRET=supersecretsaltcornsalt
Creamos la base base de datos ejecutando el siguiente comando:
docker run -it -v /ruta/saltcorn:/db -e SQLITE_FILEPATH=/db/db.sqlite -e SALTCORN_SESSION_SECRET=s3cr3t saltcorn/saltcorn reset-schema
El comando anterior creará el fichero db.sqlite en el directorio /ruta/saltcorn.
Fichero Docker Compose:
--- services: saltcorn: image: saltcorn/saltcorn container_name: saltcorn command: "serve" restart: unless-stopped ports: - "3000:3000" environment: - SALTCORN_SESSION_SECRET=${SALTCORN_SECRET} - SQLITE_FILEPATH=/db/db.sqlite volumes: - ./db:/db
PostgreSQL
Necesitaremos el fichero docker-entrypoint-initdb.sql (instrucciones para crear la base de datos) que podemos descargar desde aquí.
También un fichero .env con el siguiente contenido que podremos adaptar a nuestro gusto:
PGDATABASE=saltcorn PGUSER=postgres PGPASSWORD=postgres DOMAIN=localhost SALTCORN_SECRET=supersecretsaltcornsalt
Fichero Docker Compose:
--- services: saltcorn-app: image: saltcorn/saltcorn container_name: saltcorn depends_on: - saltcorn-db command: "serve" restart: always networks: - saltcorn ports: #not needed if using traefik - "3000:3000" environment: - SALTCORN_SESSION_SECRET=${SALTCORN_SECRET} - PGHOST=saltcorn-db - PGUSER=${PGUSER} - PGDATABASE=${PGDATABASE} - PGPASSWORD=${PGPASSWORD} saltcorn-db: image: postgres:13-alpine container_name: saltcorn-db restart: always networks: - saltcorn volumes: - ./data:/var/lib/postgresql/data #save the db to a mount point if you wish, otherwise will use docker container management - ./docker-entrypoint-initdb.sql:/docker-entrypoint-initdb.d/init.sql # This is the init script for the database environment: - POSTGRES_USER=${PGUSER} # initdb.sql script will only work for user "postgres" - POSTGRES_PASSWORD=${PGPASSWORD} - POSTGRES_DB=${PGDATABASE} networks: saltcorn: name: saltcorn-net
Uso
Crear una página principal pública
Para crear páginas: Pages → Create page. En la opción “Minimum role” elegimos public. Cuando terminemos la configuración y se haya creado la página, volvemos al menú Pages y vamos a la sección Root pages. Ahí nos desplazamos al rol public y en el desplegable marcamos la página que acabamos de crear.
A partir de entonces, cuando cualquier visitante (cualquier persona no registrada) llegue a nuestra instalación de Saltcorn, verá la página que creamos.
Tablas
Útiles para generar contenido dinámico. En Saltcorn, una aplicación está asociada con una base de datos. Una base de datos es una colección de tablas. Las tablas se usan para estructurar los datos en filas y columnas / campos.
Para crear tablas: Tablas → Create table.
Saltborn creará por nosotros el campo ID en cada tabla. Este campo se usará como clave primaria.
Cuando creamos un campo nuevo, en Label podemos usar mayúsculas y espacios. Internamente, Saltburn sustituirá los espacios por guiones bajos (_) y pasará todo a minúsculas.
Tipo de dato para los campos:
- String: sucesión de caracteres (texto).
- Integer: números enteros, positivos o negativos.
- Bool: valores booleanos,
true(cierto) ofalse(falso). - Date: fecha (con información de tiempo o no)
- Float: números decimales.
- Color: colores en formato RGB (Red Green Blue)
- File: referencia a un fichero del sistema de ficheros de Saltcorn.
Después de crear las tablas, lo normal es crear vistas para mostrar los datos de las tablas.
Vistas
Después de crear las tablas, lo normal es crear vistas para mostrar los datos de las tablas.
Plugins / módulos
Para extender las funcionalidades base de Saltcorn podemos instalar plugins. Por ejemplo, para que en los campos tipo fecha se muestre un calendario para elegir el día, podemos instalar flatpickr-date.
Los plugins se instalan desde Settings → Modules → Modules.
Packs
Los packs ofrecen funcionalidades que podríamos conseguir mediante la creación de tablas, vistas, páginas… Nos permite construir por ejemplo un blog, una wiki, etc. Serían como aplicaciones completas. Proporcionan la estructura, no los datos.
Los packs se instalan desde Settings → Modules → Packs.
Usuarios
Settings → Users and security
Crear usuario
Como administrador, desde Settings → Users and security → Users podremos crear nuevos usuarios mediante el enlace Create user.
Deshabilitar registros
Si no queremos que cualquier visitante pueda crear una cuenta en nuestra instalación de Saltcorn, como administradores, debemos ir a Settings → Users and security → Login and Signup. Ahí desmarcaremos la casilla que pone Allow users to sign up for a new user account.
Desde ese momento, la única manera de crear nuevas cuentas será desde el panel de administración, mediante Settings → Users and security → Users.
Páginas
Añadir página al menú de navegación
Hay dos formas, una es ir al editor de menús (Settings → Site structure → Menu) y la otra es ir a Pages, localizar la página deseada y pulsar en el botón con los 3 puntos para luego elegir Add to menu.

