A template for a Nymph app.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Nymph App Template

This is a template for building an app with Nymph and Tilmeld.

For development, it provides a Docker setup that runs a DB (MySQL, PostgreSQL, or SQLite3), Nginx, Postfix, and Nymph. It presents a usable app, built in Svelte, as a starting point.


  1. Get Docker. (On Ubuntu, see the next section.)
  2. Copy this template:
  • npm install -g degit
  • degit hperrin/nymph-template nymph-app (for MySQL)
    • degit hperrin/nymph-template#postgres nymph-app (for Postgres)
    • degit hperrin/nymph-template#sqlite3 nymph-app (for SQLite3)
  • cd nymph-app
  1. Run the app: ./run.sh
  2. Go here http://localhost:8080/

On SQLite3, the very first time you create an entity (when you register the first user/create the first todo), the DB will become locked. You'll need to refresh the page, but then on it will be fine.

Docker on Ubuntu 18.04

sudo apt-get install docker.io docker-compose && sudo usermod -a -G docker $USER

Then restart, so the group modification takes effect.

Docker on Ubuntu 17.10 and earlier

sudo apt-get install docker.io && sudo usermod -a -G docker $USER
sudo wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/1.21.0/docker-compose-`uname -s`-`uname -m`
sudo chmod +x /usr/local/bin/docker-compose

Then restart, so the group modification takes effect.

NPM and Composer

If NPM and/or Composer are not installed, npm.sh and composer.sh will use a Docker container to run them.

You can run commands from the repository root (not the "app" directory) using composer.sh and npm.sh. For example:

./composer.sh require vendor/package
./npm.sh install --save package
./npm.sh run build

Adding New Entities

  1. Duplicate both Todo.php and Todo.js in the src/Entities folder, and rename/edit them.
  2. Run npm run build or npm run watch in the "app" dir to rebuild the bundled JS.
  3. If you need help, check out the API docs.