This is simple web task manager application running locally. You can manage multiple tasks, edit their status, descritpion, delete them and add new.
- Spring JPA
- Spring Thymeleaf
- Spring Security
- Spring Web
git clone https://github.com/stukenvitalii/TaskManager.gitThe multi-stage Dockerfile builds and tests the application with Maven and JDK 21.
To build a standalone executable JAR, run mvn verify with JDK 21;
the result is target/TaskManager-0.0.1-SNAPSHOT.jar.
Start the Podman machine (podman machine start) and install a Compose provider
such as podman-compose. Docker Compose is also supported.
Create a local .env file (ignored by Git):
POSTGRES_PASSWORD=choose-your-local-passwordIf Docker Hub is unavailable, set POSTGRES_IMAGE, LIQUIBASE_IMAGE and
JAVA_IMAGE in this file to the corresponding images in an accessible registry.
Defaults: PostgreSQL 16, Liquibase 4.33.0 and Temurin Java 21 JRE on Ubuntu 24.04.
podman compose up -d --build
podman compose logs liquibase-migrations
podman compose logs appVerify that Liquibase completed successfully before using the application.
Some Podman Compose providers do not reliably enforce
service_completed_successfully. No separate IDE application launch is needed.
6. Open http://localhost:8080/
Register, log in and manage tasks. Creation and editing offer the statuses New, In progress and Done, with Russian translations available.
See DEPLOY.md for Kubernetes manifests, deployment order, storage, image publishing and automated smoke tests.
The PostgreSQL volume persists across container restarts. Keep PostgreSQL on major version 16 for this volume; a major upgrade requires a separate migration.