Development

Command Reference

Complete reference for all Taskfile commands and development scripts.

Command Reference

This reference covers all available commands for developing, building, and deploying LAREX.

Taskfile Commands

All commands are run from the repository root using task <command>.

Setup & Installation

CommandDescription
task setupOne-time setup for new developers (installs deps, starts infra)
task installInstall all dependencies (frontend + keycloak-theme)
task devStart development environment instructions

Docker Orchestration

CommandDescription
task docker:upStart all services with Docker Compose
task docker:up:buildBuild and start all services
task docker:downStop all services
task docker:down:cleanStop services and remove volumes
task docker:infraStart only infrastructure (postgres, keycloak, traefik)
task docker:logsView logs from all services
task docker:logs:backendView backend logs
task docker:logs:frontendView frontend logs
task docker:psShow running containers

Production Docker

CommandDescription
task docker:prod:upStart production services
task docker:prod:downStop production services
task docker:prod:logsView production logs

Testing

CommandDescription
task testRun all tests (backend + frontend)
task test:backendRun backend tests only
task test:frontendRun frontend lint + typecheck

Building

CommandDescription
task buildBuild all projects (backend, frontend, theme)
task build:dockerBuild production Docker images

Version Management

CommandDescription
task verShow current version
task ver:syncSync VERSION to all projects
task ver:bump:majorBump major version (X.0.0)
task ver:bump:minorBump minor version (0.X.0)
task ver:bump:patchBump patch version (0.0.X)

Release

CommandDescription
task release:dockerBuild and tag Docker images for release
task release:docker:pushPush Docker images to registry

Utilities

CommandDescription
task cleanClean all build artifacts
task statusShow status of all services
task db:shellOpen PostgreSQL shell
task keycloak:shellOpen Keycloak container shell

Backend Commands

Run from backend/ directory:

CommandDescription
./gradlew bootRunStart development server
./gradlew bootRun -PdebugStart with debug enabled
./gradlew buildBuild application
./gradlew build -x testBuild without tests
./gradlew bootJarBuild JAR file
./gradlew testRun tests
./gradlew test --infoRun tests with verbose output
./gradlew cleanClean build artifacts
./gradlew dependenciesList dependencies
./gradlew dependencyUpdatesCheck for updates
./gradlew spotlessApplyFormat code

Backend Taskfile

From root, use: task backend:<command>

CommandDescription
task backend:devRun backend development server
task backend:dev:debugRun with debug enabled
task backend:buildBuild backend
task backend:testRun backend tests
task backend:cleanClean backend artifacts

Frontend Commands

Run from frontend/ directory:

CommandDescription
pnpm devStart development server
pnpm buildBuild for production
pnpm previewPreview production build
pnpm lintRun ESLint
pnpm lint --fixAuto-fix linting issues
pnpm typecheckRun TypeScript typecheck
pnpm installInstall dependencies

Frontend Taskfile

From root, use: task frontend:<command>

CommandDescription
task frontend:devStart frontend development server
task frontend:buildBuild frontend
task frontend:lintRun ESLint
task frontend:typecheckRun TypeScript check
task frontend:installInstall dependencies
task frontend:cleanClean build artifacts

Keycloak Theme Commands

Run from keycloak-theme/ directory:

CommandDescription
npm installInstall dependencies
npm run buildBuild theme JAR

Theme Taskfile

From root, use: task theme:<command>

CommandDescription
task theme:installInstall dependencies
task theme:buildBuild theme JAR
task theme:cleanClean build artifacts

Direct Docker Commands

Docker Compose (Development)

# Start services
docker compose -f compose.yaml up -d

# View logs
docker compose -f compose.yaml logs -f

# Stop services
docker compose -f compose.yaml down

# Stop with volumes
docker compose -f compose.yaml down -v

Docker Compose (Production)

# Start services
docker compose -f compose.prod.yaml up -d

# View logs
docker compose -f compose.prod.yaml logs -f

# Stop services
docker compose -f compose.prod.yaml down

Useful Docker Commands

# Open PostgreSQL shell
docker compose exec postgres psql -U larex -d larexdb

# Open Keycloak shell
docker compose exec keycloak bash

# View container logs
docker compose logs -f <service-name>

# Restart a service
docker compose restart <service-name>

# Check resource usage
docker stats

Environment Variables Reference

VariableUsed ByDescription
POSTGRES_USERPostgreSQLDatabase username
POSTGRES_PASSWORDPostgreSQLDatabase password
KEYCLOAK_ADMINKeycloakAdmin username
KEYCLOAK_ADMIN_PASSWORDKeycloakAdmin password
KEYCLOAK_ADMIN_CLIENT_SECRETBackendOAuth client secret
FRONTEND_HOSTNAMETraefikProduction frontend domain
API_HOSTNAMETraefikProduction API domain
KEYCLOAK_HOSTNAMETraefikProduction Keycloak domain
ACME_EMAILTraefikLetsEncrypt email

Next Steps

Copyright © 2026