cisys is a modern continuous integration (CI) system for local installations and multi-user servers. It registers Git projects and runs manual Linux builds for them in disposable containers.
- Keycloak Single Sign-On (SSO) authentication with 3 roles (Member, Lead, Admin)
- Persistent project registration with public and private projects
- Manual Linux builds from a chosen branch, run in a container with Docker or Podman
- Build history with status, commit ID, timing and output
- Private Git access through environment-variable credential references
- Branding (name, font, colors, logo and background image)
- Light and dark mode
- Developer guide
- Build and run guide
- Security notes
- Entity diagram
- Roadmap
- Pull request guide
- Manual sources (build with
docs/manual/en/generate-manual.sh) - License
Run make targets for the common tasks; see the Makefile section of the build guide.
cisys is built with
- Quarkus on Java 25 for the backend
- Keycloak for identity management and Single Sign-On (SSO)
- PostgreSQL for storage
- JGit for repository access
- Docker or Podman for build containers
- React on the frontend, bundled with Vite
- shadcn/ui components with Tailwind CSS
- Red Hat Text as the default typeface
- Maven for the backend build
- Node.js and npm for frontend dependencies
Requires Java 25+, Maven, Node.js 26, npm, and Docker Compose or Podman with Compose. Images and dependencies must be downloadable. This setup is for a trusted local machine only.
Clone the repository:
git clone https://github.com/mnemosyne-systems/cisys.git
cd cisysStart PostgreSQL and Keycloak:
make platform-startWait for Keycloak to become available at http://localhost:8180.
Run make platform-stop to stop the containers and keep their data, or make reset to stop them and delete their data after asking for confirmation.
Start the backend and the frontend in development mode:
make runThis installs the frontend dependencies when needed, runs the frontend in the background and the backend in the foreground. Stopping the backend also stops the frontend and signs all users out.
It does not compile or run the tests; use make test for those.
The application is available at http://localhost:5173.
The configuration is defined in src/backend/main/resources/application.properties.
The local setup uses the following ports. All of them are bound to the loopback interface.
| Port | Service | Address | Started by |
|---|---|---|---|
5173 |
Frontend | http://localhost:5173 | make run |
8080 |
Backend API | http://localhost:8080 | make run |
8180 |
Keycloak | http://localhost:8180 | make platform-start |
5432 |
PostgreSQL | localhost:5432 |
make platform-start |
5005 |
Java debugger | localhost:5005 |
make run (development mode) |
Open the application on port 5173.
The users defined for testing are
- Member:
member/member - Lead:
lead/lead - Admin:
admin/admin
The Keycloak admin console is at http://localhost:8180/admin with admin / admin.
Install Docker Desktop with its WSL 2 backend and Ubuntu. Put the project in your Ubuntu home directory, install Java 25, Maven, Node.js 26 and npm inside Ubuntu, then follow the steps above from an Ubuntu terminal.
Contributions to cisys are managed on GitHub.com
Contributions are most welcome !
Please, consult our Code of Conduct policies for interacting in our community, and the Contributing guide.
Consider giving the project a star on GitHub if you find it useful.


