Programming language: Scala
License: GNU General Public License v3.0 or later
Tags: Task management/To-do lists     PHP Task    
Latest version: v2.39

Task Keeper alternatives and similar software solutions

Based on the "PHP Task" category.
Alternatively, view Task Keeper alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Task Keeper or a related project?

Add another 'PHP Task' Software solution


Task Keeper

CI Status

This project aims to be a list editor for power users.

Example use cases:

  • A TODO list
  • A list of meals and ingredients
  • Notes from a meeting
  • A list of things to remember


(Note: Some are not ready yet)

  • Document editing:
    • Productivity shortcuts for actions such as 'remove task', 'swap task down', 'open link', 'convert selection to lower case', ...
    • Ability to collapse all indented tasks beneath selected task
    • Tasks can have tags
    • Ability to search in all documents
    • Taks can be postponed until a later date
  • Many documents:
    • Easy switching between documents
    • Ability to archive documents and easily search for documents
  • Works offline (via PWA)
  • Dedicated mobile version


[screenshot](screenshot.png "Screenshot")

Installation from release

  • Download the latest release
  • Unpack the archive
  • Open conf/application.conf in the unpacked folder:
    • Configure a database. The easiest way is to set up a MariaDB server locally, create an empty database called facto and configure it as follows:
db.default.slick.profile = "slick.jdbc.MySQLProfile$"
  • Choose secret values for play.http.secret.key and app.setup.defaultPassword

    • Open a terminal in the unpacked folder
    • Run following commands to get the app running:
    # Create database tables
    bin/server -DdropAndCreateNewDb
    # Create admin user
    bin/server -DcreateAdminUser
    # Run application
    • Browse to http://:9000/app/useradministration (username: "admin", password: "changeme")

Installation with Docker

The following commands will launch a new server alongside a database in Docker containers:

# Get the docker-compose.yml file
wget https://raw.githubusercontent.com/nymanjens/piga/master/docker-compose.yml

# Choose a unique random string here of sufficient length
export APPLICATION_SECRET="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)"

# Create an empty database with a single admin user
docker-compose run web bin/server -DdropAndCreateNewDb
docker-compose run web bin/server -DcreateAdminUser

# Bring up the server
docker-compose up

When done, browse to http://:9000/app/useradministration (username: "admin", password: "changeme")


  • conf/application.conf: Setup and configure a database here.
  • Add users: A default user is created with the -DcreateAdminUser flag (username: admin, password: changeme). This account can create new users.