Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

LimeSurvey

Open source survey application. https://www.limesurvey.org

Prerequisites

Limesurvey does not play nice with postgres. The database connection via a socket is not supported, and as a result the nixpkgs module is also halfbroken with postgres.

This module does not use our usual single sign-on process via OIDC. Support via a plugin is possible, but still needs to be implemented.

There are currently no working tests for this module.

As a workaround Momo Cloud vendors its own limesurvey module, which creates the postgres user together with a password allowing for TCP connections. This opens up the possibility of a createLocal.

Limesurvey uses the yii php framework, currently in Version 1.1 which is EOL at the end of 2026. There appear to not be any public upgrade plans.

Usage

momo-cloud.limesurvey = {
  enable = true;
  databasePasswordFile = config.age.secrets."limesurvey-database-password".path;
  encryptionKeyFile = config.age.secrets."limesurvey-encryption-key".path;
  encryptionNonceFile = config.age.secrets."limesurvey-encryption-nonce".path;
  oidcSecretFile = config.age.secrets."limesurvey-oidc-secret".path;
};

Secrets

To generate the encryption key for encryptionKeyFile, you can use xxd:

xxd -u -l 32 -p /dev/urandom

The encryption nonce for encryptionNonceFile works the same, but with 24 bytes:

xxd -u -l 24 -p /dev/urandom

To generate the OIDC secret for oidcSecretFile, used by services.kanidm.provision, you can use xxd:

xxd -u -l 32 -p /dev/urandom

To generate the postgres database password for databasePasswordFile, you can use xxd:

xxd -u -l 32 -p /dev/urandom

After setup, the admin user account will have the password password. This needs to be changed!

OIDC

An OIDC Plugin is shipped with the momo cloud LimeSurvey module, however it is not enabled by default.

The reason for this is that automatic user and group creation does not exist. You will have to log in to an existing admin user and create user accounts manually. These will then be able to log in via OIDC.

Plugins

Plugins can be added as simple zip file packages. They are available for installation in LimeSurvey, however they are not automatically installed or activated since LimeSurvey does not provide an easy API or CLI to do this.