Deployment

Your servers. Your data. One command.

Iskue ships as containers and runs where you decide — a lab VM, a datacenter host, or a distributed cluster. No SaaS dependency, no phone-home, no data leaving your network.

Start on one host

  • One command up — Docker Compose brings up the application and PostgreSQL together; set your secrets in .env and go.
  • First user is admin — register once, and that account holds the keys. Then close self-registration with a single flag; everything else is configured in the UI.
  • Behind your proxy — designed to sit behind Apache or nginx with the TLS certificates you already manage.
  • Installable PWA — the frontend installs like a desktop or mobile app, straight from the browser.
# configure secrets
$ cp .env.example .env

# full stack, one host
$ docker compose --profile full up -d
iskue ready → http://localhost:8088

Scale out when you need to

The same application deploys onto a distributed PostgreSQL cluster powered by Citus: ticket data is sharded and colocated across worker nodes, reference data is replicated, and the app doesn't change. Live board updates keep flowing over Server-Sent Events on every node, because sessions are stateless.

Sharded tickets

Tickets and their comments, attachments and timers are distributed together, so hot queries stay on one worker.

Stateless app nodes

Token-based sessions mean any application node can serve any request — scale horizontally behind your load balancer.

Migrations built in

The schema is versioned; a one-shot migrator applies it exactly once at bring-up, before app nodes come up. Upgrades are an image swap, not a runbook.

Java 21 · Spring Boot 3 · PostgreSQL 16 / Citus · React + TypeScript · Docker

See Iskue on your own screen

A demo takes half an hour. A pilot runs on your servers, with your data, from day one.