Corteza

Open source low-code platform

Try the service in a VM

  1. Install Nix
    Arch Linux
    Bash
    $ pacman --sync --refresh --noconfirm curl git jq nix
    Debian
    Bash
    $ apt install --yes curl git jq nix
    Ubuntu
    Bash
    $ apt install --yes curl git jq nix
  2. Download a configuration file
    # default.nix
    {
      ngipkgs ? import (fetchTarball "https://github.com/ngi-nix/ngipkgs/tarball/main") { },
    }:
    ngipkgs.demo-vm (
      let
        port = 8090;
      in
      {
        services.corteza = {
          enable = true;
          inherit port;
          openFirewall = true;
          settings.DOMAIN = "localhost:${toString port}";
        };
      }
    
    )
    
  3. Enable binary substituters
    Bash
    $ export NIX_CONFIG='substituters = https://cache.nixos.org/ https://ngi.cachix.org/
    trusted-public-keys = cache.nixos.org-1:6nchdd59x431o0gwypbmraurkbj16zpmqfgspcdshjy= ngi.cachix.org-1:n+cal72roc3qqulxihpv+tw5t42whxmmhpragkrsrow='
  4. Build and run a virtual machine
    Arch Linux, Debian Sid and Ubuntu 25.04
    Bash
    $ nix-build ./default.nix && ./result
    Debian 12 and Ubuntu 24.04/24.10
    Bash
    $ rev=$(nix-instantiate --eval --attr sources.nixpkgs.rev https://github.com/ngi-nix/ngipkgs/archive/master.tar.gz | jq --raw-output)
    $ nix-shell -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/$rev.tar.gz --packages nix --run "nix-build ./default.nix && ./result"
  5. Usage Instructions

    Deployment for demo purposes

Options

services.corteza
services.corteza.address

IP for the HTTP server.

Type:
string
Default:
"0.0.0.0"
services.corteza.enable

Whether to enable Corteza, a low-code platform.

Type:
boolean
Default:
false
services.corteza.group

The group to run Corteza under.

Type:
string
Default:
"corteza"
services.corteza.openFirewall

Whether to open ports in the firewall.

Type:
boolean
Default:
false
services.corteza.package

The corteza package to use.

Type:
package
Default:
pkgs.corteza
Notes:
Missing update script An update script is required for automatically tracking the latest release.
services.corteza.port

Port for the HTTP server.

Type:
16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
80
services.corteza.settings

Configuration for Corteza, will be passed as environment variables. See https://docs.cortezaproject.org/corteza-docs/2024.9/devops-guide/references/configuration/server.html.

Type:
attribute set of string
Default:
{ }
services.corteza.settings.HTTP_WEBAPP_ENABLED

Whether to enable webapps.

Type:
boolean
Default:
true
services.corteza.user

The user to run Corteza under.

Type:
string
Default:
"corteza"

Examples

Enable Corteza
{
  services.corteza.enable = true;
}

This project is funded by NLnet through these subgrants:

Related links: