Code Quality Rank: L4
Programming language: Java
License: GNU General Public License v3.0 only
Tags: Project Management     Software Development    
Latest version: v1.1.7

Lavagna alternatives and similar software solutions

Based on the "Project Management" category.
Alternatively, view Lavagna alternatives based on common mentions on social networks and blogs.

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

Add another 'Project Management' Software solution



Java CI with Maven Maven Central Github All Releases Docker Status Docker Layers

Latest stable release is 1.1.7 (2020-11-17)


Lavagna is a small and easy to use issue/project tracking software.

It requires Java 8 or better and optionally a database: MySQL, MariaDB or PostgreSQL. It can be deployed in a Java servlet container or as a self contained war.



Lavagna supports MySQL (at least 5.1), MariaDB (tested on 10.1), PostgreSQL (tested on 9.1) and HSQLDB (for small deploy).

It's distributed in 2 forms:

  • simple war for deploying in your preferred web container
  • self contained war with embedded jetty web server

See the documentation at http://help.lavagna.io

For testing purposes

If you want to test it locally, you can download the self contained war and run:

wget https://repo1.maven.org/maven2/io/lavagna/lavagna/1.1.7/lavagna-1.1.7-distribution.zip
unzip lavagna-1.1.7-distribution.zip

Go to http://localhost:8080 and login with "user" (password "user").

See the README in the archive and the documentation at http://help.lavagna.io if you want to customize the scripts and set lavagna in production mode.


Lavagna is also available as a Docker image so you can try it on the fly:



Java and Kotlin

Lavagna runs on a Java 8 jvm. Some parts of Lavagna are made with Kotlin.

IDE Configuration

Use UTF-8 encoding and 120 characters as line width. You will need a Java and Kotlin aware IDE. (Currently tested with intellij and eclipse).

For eclipse: you will need to install the kotlin plugin and add the "Kotlin nature" to the project: Right click on the project -> "Configure Kotlin" -> "Add Kotlin nature"


Install npm and run the following script to assure your code follows our guidelines

First ensure that all the dependencies are ok with npm install.

Then, for checking:

npm run-script lint

Fix any error or warning before opening a pull request


Launch the Web Server:

mvn jetty:run

For launching Web Server + DB manager (HSQLDB only):

mvn jetty:run -DstartDBManager

for launching Web Server with the MySQL database (use the mysql profile):

mvn jetty:run -Pdev-mysql
mvn jetty:run -Pdev-pgsql

For debugging:

mvnDebug jetty:run

For running the test cases:

mvn test

For running the test cases with MySQL or PostgreSQL:

mvn test -Ddatasource.dialect=MYSQL
mvn test -Ddatasource.dialect=PGSQL

For running with jetty-runner:

mvn clean install
java -Ddatasource.dialect=HSQLDB -Ddatasource.url=jdbc:hsqldb:mem:lavagna -Ddatasource.username=sa -Ddatasource.password= -Dspring.profiles.active=dev -jar target/dependency/jetty-runner.jar --port 8080 target/*.war

When adding new file, remember to add the license header with:

mvn com.mycila:license-maven-plugin:format

Angular perfs

Use the following stats for keeping an eye on the performances:


The documentation is written using stampo (see https://github.com/digitalfondue/stampo). It currently reside in src/main/stampo .

For building the doc:

mvn clean stampo:build

The output will be present in target/generated-docs

For testing the documentation run

mvn stampo:serve

And go to http://localhost:45001/


In order to make it easier to tests on different databases we included 3 Vagrant VMs. Make sure that you have installed Vagrant and VirtualBox before continuing.


Fetch the submodules:

git submodule update --init

If you are under windows you need to ensure that the pgsql submodule is not in a broken state, double check that the file puppet\modules\postgresql\files\validate_postgresql_connection.sh is using the unix end of line (run dos2unix).

To run the tests with Vagrant boot the VMs with:

vagrant up [optionally use pgsql / mysql to boot only one VM]

Once that the VM is up and running run the tests:

mvn test -Ddatasource.dialect=PGSQL / MYSQL

Connecting manually:

PGSQL: localhost:5432/lavagna as postgres / password

MySQL: localhost:3306/lavagna as root

Notes about databases

The application uses UTF-8 at every stage and on MySQL you will need to create a database with the collation set to utf8_bin:


Code Coverage

Jacoco plugin is used.

mvn clean test jacoco:report

-> open target/site/jacoco/index.html with your browser

About Database migration

Can be disabled using the following system property: datasource.disable.migration=true

Check for updated dependencies

mvn versions:display-dependency-updates
mvn versions:display-plugin-updates

Supported by

[Alt text](misc/jetbrains.png)

*Note that all licence references and agreements mentioned in the Lavagna README section above are relevant to that project's source code only.