Skip to content
Merged
Show file tree
Hide file tree
Changes from 45 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
65877ea
DP-1288: add Jeff setup for docker
pwildber Mar 12, 2026
b8194c5
DP-1288: completed docker path Jeff integration
pwildber Mar 16, 2026
b32af95
DP-1288: add podman Jeff installation
pwildber Mar 16, 2026
97faf71
DP-1288: harden image building
pwildber Mar 16, 2026
25b0e37
Dp-1288: hopefully fix image build
pwildber Mar 16, 2026
cf5d6d5
DP-1288: fix build_podman_secret_image
pwildber Mar 16, 2026
7a8bbaa
DP-1288: podman secrets fix
pwildber Mar 17, 2026
67d01f8
DP-1288: fix nginx for podman
pwildber Mar 17, 2026
ccc916e
Dp-1288: correct/update podman compose files
pwildber Mar 17, 2026
c18e872
DP-1288: migrate secrets to new style on upgrade
pwildber Mar 17, 2026
1dcdfbe
DP-1288: fix podman_secret_to_tmpfile
pwildber Mar 17, 2026
cd3425f
DP-1289: compose files created from templates
pwildber Mar 18, 2026
60d9eed
DP-1289: capture gemini endpoint
pwildber Mar 18, 2026
8ce47e8
DP-1289: harden preservation, only list preserved values
pwildber Mar 18, 2026
ee667ea
Fix github validation
pwildber Mar 18, 2026
e191537
Fix
pwildber Mar 18, 2026
6458abb
Simplify podman compose validation
pwildber Mar 18, 2026
2917607
DP-1289: allow setting up Jeff during upgrade
pwildber Mar 18, 2026
1998083
Dp-1289: fix templates
pwildber Mar 18, 2026
4dc21c1
DP-1289: fix preservation
pwildber Mar 18, 2026
b0180d4
DP-1289: new approach
pwildber Mar 18, 2026
3bb516c
DP-1289: copy jeff template during update
pwildber Mar 18, 2026
ba9a9d0
DP-1289: automatically pass correct user to custom image
pwildber Mar 18, 2026
2c0e108
DP-1289: prepare for merge
pwildber Mar 19, 2026
d156fe1
Merge branch 'main' into fix-merge
pwildber Mar 19, 2026
f96201a
DP-1289: fix function
pwildber Mar 19, 2026
9c9b430
DP-1289: redis and postgres use existing custom registry if set
pwildber Mar 19, 2026
98652a4
DP-1289: fix replacing custom image locations
pwildber Mar 19, 2026
07cf5ec
DP-1289: more fixes for compose replacements
pwildber Mar 19, 2026
9f10577
DP-1289: fix podman jeff replacement
pwildber Mar 19, 2026
eef475f
DP-1289: more Jeff replacement fixes
pwildber Mar 19, 2026
8a30839
DP-1289: correct podman jeff template
pwildber Mar 19, 2026
a75e5b1
DP-1289: fix startleft image extraction
pwildber Mar 19, 2026
0130976
DP-1289: slim down image value extraction
pwildber Mar 19, 2026
6e2ac73
DP-1289: login immediately if using custom registry
pwildber Mar 19, 2026
3d5cd1c
DP-1289: shift registry prompt
pwildber Mar 19, 2026
7b14a47
DP-1289: fix docker postgres creation
pwildber Mar 19, 2026
8dc6e55
DP-1289: update README
pwildber Mar 19, 2026
a6f5814
DP-1289: fix github validation
pwildber Mar 19, 2026
dbb91ee
DP-1289: fix validate
pwildber Mar 19, 2026
3136113
DP:1289: fix installing Jeff during upgrade
pwildber Mar 19, 2026
c3973e0
Dp-1289: only backfill Jeff values if Jeff is newly enabled
pwildber Mar 19, 2026
8c3187c
DP-1289: remove unneccesary second setting of COMPOSE_YML
pwildber Mar 19, 2026
39cde3e
DP-1289: prompt for registry after installing dependencies
pwildber Mar 20, 2026
e482e90
DP-1289: move update_compose_image_placeholders in one-click to after…
pwildber Mar 20, 2026
708c33a
DP-1289: updated README with important warning and steps for first up…
pwildber Mar 20, 2026
274e573
DP-1289: compute pre rollback COMPOSE_OVERRIDE
pwildber Mar 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 19 additions & 5 deletions .github/workflows/validate-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,27 @@ jobs:
echo "$HOME/.local/bin" >> $GITHUB_PATH

- name: Validate docker-compose syntax
run: docker-compose -f docker/docker-compose.yml -f docker/docker-compose.override.yml config
env:
NGINX_IMAGE: dummy/nginx
TOMCAT_IMAGE: dummy/tomcat
STARTLEFT_IMAGE: dummy/startleft
REPORTING_MODULE_IMAGE: dummy/reporting
POSTGRES_IMAGE: dummy/postgres
JEFF_IMAGE: dummy/jeff
RAG_IMAGE: dummy/rag
ASH_IMAGE: dummy/ash
HAVEN_IMAGE: dummy/haven
REDIS_IMAGE: dummy/redis
run: docker-compose -f templates/docker/docker-compose.tpl -f templates/docker/docker-compose.override.tpl -f templates/docker/docker-compose.postgres.tpl -f templates/docker/docker-compose.jeff.tpl config

- name: Validate Podman config
run: |
if [ -f podman/container-compose.yml ]; then
docker-compose -f podman/container-compose.yml -f podman/container-compose.override.yml config
fi
env:
NGINX_IMAGE: dummy/nginx
TOMCAT_IMAGE: dummy/tomcat
STARTLEFT_IMAGE: dummy/startleft
REPORTING_MODULE_IMAGE: dummy/reporting
POSTGRES_IMAGE: dummy/postgres
run: docker-compose -f templates/podman/podman-compose.tpl config

- name: Set up Python
uses: actions/setup-python@v4
Expand Down
12 changes: 11 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,14 @@ postgres
logs/

# Ignore .env
.env
.env

#Ignore generated compose files
docker/docker-compose.override.yml
docker/docker-compose.jeff.yml
docker/docker-compose.postgres.yml
docker/docker-compose.yml
podman/podman-compose.override.yml
podman/podman-compose.jeff.yml
podman/podman-compose.postgres.yml
podman/podman-compose.yml
54 changes: 48 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,24 @@ Do **not** run these scripts on a machine that already has a PostgreSQL database
- Best for **remote installations** where nothing is pre-installed.

### `one-click.sh`
- The main **end-to-end installer**.
- Ensures you’re in the right directory, detects the Linux distribution, selects the appropriate container engine automatically, sets up PostgreSQL (internal container or external DB), and then deploys IriusRisk.
- Calls other helper scripts (`preflight.sh`, `setup-wizard.sh`) as needed.
- Recommended if you’ve already cloned the repo and are inside the `scripts/` directory.

- The main **end-to-end installer**.
- Ensures you're in the right directory, detects the Linux
distribution, selects the appropriate container engine
automatically, sets up PostgreSQL (internal container or external
DB), and then deploys IriusRisk.
- Calls other helper scripts (`preflight.sh`, `setup-wizard.sh`) as
needed.
- **Optionally installs Jeff (AI assistant)** during setup via an
interactive prompt.
- Recommended if you've already cloned the repo and are inside the
`scripts/` directory.

### `setup-wizard.sh`
- Runs interactively and asks questions about:
- PostgreSQL setup (internal or external)
- Hostname and external URLs
- Azure and Gemini endpoints and API keys if installing Jeff
- Updates configuration files accordingly.
- Can be run standalone if you want to just configure and not deploy.

Expand Down Expand Up @@ -84,7 +93,9 @@ Do **not** run these scripts on a machine that already has a PostgreSQL database
3. **Answer interactive prompts**:
- Select container registry (default or custom)
- Decide how to set up PostgreSQL (internal container or external DB)
- Choose whether to install Jeff (AI assistant)
- Provide hostname
- Provide Azure and Gemini endpoints and API keys if installing Jeff
- Confirm deployment

4. **Deployment starts**:
Expand Down Expand Up @@ -133,11 +144,39 @@ The container engine is selected automatically based on the detected Linux distr

---

## 🤖 Jeff (AI Assistant)

Jeff is the IriusRisk AI assistant and can be installed either:

---
- During initial setup (`one-click.sh`)
- During an upgrade (`upgrade.sh`)

### Installation (Fresh Setup)

During setup, you will be prompted to enable Jeff.

If enabled:
- Jeff services are included in deployment
- Configuration is applied automatically

### Installation During Upgrade

During upgrade, you can:

- Enable Jeff if not already installed

If enabled:

- Compose file is created from template
- Systemd service is updated
- Stack is restarted with Jeff enabled

### Notes

- Jeff is deployed as an additional compose layer
- Existing installations are preserved during upgrades

---

## 🧩 Managing the Stack

Expand Down Expand Up @@ -185,9 +224,11 @@ To upgrade an existing IriusRisk on-prem installation:

3. **Answer interactive prompts**:
- **"How is your PostgreSQL configured?"** (internal or external)
- Whether you are currently using Jeff
- Option to enable Jeff during upgrade (if not already enabled)

4. **Upgrade process**:
- The script backs up your PostgreSQL database and compose files to the `irius_backups/` directory inside the current user's home folder.
- The script backs up your PostgreSQL database, IriusRisk service and compose files to the `irius_backups/` directory inside the current user's home folder.
- Unused containers, networks, and images are cleaned up automatically.
- The running containers are stopped.
- The latest images are pulled from the repository (or rebuilt locally if using Podman).
Expand Down Expand Up @@ -217,6 +258,7 @@ If an upgrade fails or you need to return to a previous version, you can roll ba

4. **Rollback process**:
- The compose files are restored from the matching backup archive.
- The previous IriusRisk service is restored from the backup.
- The database is restored from the matching `.sql.gz` dump.
- If running under **Podman**, custom images are rebuilt for the chosen version (`build_podman_custom_images`).
- The stack is restarted with the restored configuration and data.
Expand Down
12 changes: 0 additions & 12 deletions docker/docker-compose.override.yml

This file was deleted.

21 changes: 0 additions & 21 deletions podman/podman-compose.override.yml

This file was deleted.

Loading
Loading