You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* M8F-89: [Feature] Update docker files to setup and run the application correctly
* M8F-89: [Feature] Removed unnecessary migrate script
* Docker setup completed
* Dockeker working
* Create a service that initializes the keycloak realms
* Removed unnecessary logic from backend
* M8F-89: [Feature] Updated docker compose to run keycloak realm setup on start
* User non root user in docker
* M8F-89: [Feature] Updated document and removed unnecessary script
* M8F-89: [Feature] fix: Keycloak theme CLI opts; add healthcheck and backend depends_on keycloak healthy
* M8F-89: [Feature] Run images with non-root default user
* Docker Deployed
* Deployment workking
* Cleanup logs and minor optimization
* M8F-89: [Feature] Updated tenant creation to use domain from env
* Updated Sample env
* Fixed issues with minio deployment
* Opened messages and health_check APIs
* M8F-89: [Feature] Fixed PR comments
* M8F-89: [Feature] Fixed the docker compose builds
* Conflicts resolved
* AWS Deployment fixed
* Added Guards to keycloak_service.py and cookie_path_patch.py
* Moved out changes in spiffworkflow-frontend/bin/boot_server_in_docker
* Commented realm import
* Fixed Issues with Roles, Nats container
* keycloak-entrypoint.sh
Updated defaults for SUPERADMIN_USER and SUPERADMIN_PASS
* Fix line endings in entrypoint script for compatibility.Updated backend configuration in sample.env to change ports and URLs for local development.
* PR comments
* Fixed Routing issues for keycloak
* M8F-159: [Feature] Uncommented necessary lines from sample.env
* M8F-159: [Feature] Updated sample.env to use localhost instead of LOCAL_IP
* M8F-159: [Feature] Made changes According to PR comments
-Changed /health to /ping
-Updated documentation and comments
* M8F-159: [Feature] Moved comments form sample.env to relevant docs
* M8F-159: [Feature] Removed unused line of code
---------
Co-authored-by: auslin-aot <99173163+auslin-aot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: README.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,7 +77,7 @@ A sample environment file is provided at the repository root. Create a working e
77
77
cp sample.env .env
78
78
```
79
79
80
-
Edit the `.env` file if adjustments are required for the local setup. Key tenancy options (`M8FLOW_DEFAULT_TENANT_ID`, `M8FLOW_ALLOW_MISSING_TENANT_CONTEXT`, `M8FLOW_TENANT_CLAIM`) are described in `sample.env`.
80
+
Edit the `.env` file if adjustments are required for the local setup. **Environment variable meanings and examples** are documented in [docs/env-reference.md](docs/env-reference.md) (canonical reference; avoid duplicating long env explanations in this README). Variable names for tenancy and other areas also appear in `sample.env`.
81
81
82
82
---
83
83
@@ -217,7 +217,7 @@ After the containers start, continue below to the Keycloak Setup to import the r
217
217
218
218
### Import Realm
219
219
220
-
You can import realms manually as below, or run `./extensions/m8flow-backend/keycloak/start_keycloak.sh` after starting Docker to import the identity realm and tenant-a.
220
+
You can import realms by running `./extensions/m8flow-backend/keycloak/start_keycloak.sh` after starting Docker to import the identity realm.
221
221
222
222
In the Keycloak Admin Console http://localhost:7002/ log in using the configured administrator credentials.
223
223
@@ -232,6 +232,8 @@ Browse or copy the content of `extensions/m8flow-backend/keycloak/realm_exports/
Copy file name to clipboardExpand all lines: docker/DEPLOYMENT.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ export TAG="latest"
37
37
38
38
Ensure the image is built from the repo that includes the m8flow-backend extension (tenancy, Keycloak realm APIs, and support for `SPIFFWORKFLOW_BACKEND_WSGI_PATH_PREFIX` and `M8FLOW_KEYCLOAK_ADMIN_PASSWORD`). ECS expects the API under `/api/v1.0/*`.
39
39
40
-
The backend uses the Keycloak **superadmin** user by default (username `superadmin`, created by the Keycloak image entrypoint). Set `KEYCLOAK_ADMIN_PASSWORD` or `M8FLOW_KEYCLOAK_ADMIN_PASSWORD` to the superadmin password (same as `KEYCLOAK_SUPERADMIN_PASSWORD` when using the Keycloak image entrypoint) so the backend can create realms and run partial import.
40
+
The backend uses the Keycloak **super-admin** user by default (username `super-admin`, created by the Keycloak image entrypoint). Set `KEYCLOAK_ADMIN_PASSWORD` or `M8FLOW_KEYCLOAK_ADMIN_PASSWORD` to the super-admin password (same as `KEYCLOAK_SUPERADMIN_PASSWORD` when using the Keycloak image entrypoint) so the backend can create realms and run partial import.
41
41
42
42
Build the production backend image (target `prod`, `linux/amd64` for ECS):
Copy file name to clipboardExpand all lines: docker/README.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,8 @@
2
2
3
3
This directory contains the Docker setup for running M8Flow: Compose files, Dockerfiles for app services, and the Keycloak reverse-proxy config.
4
4
5
+
**Environment variables:** Full meanings and examples live in [docs/env-reference.md](../docs/env-reference.md). This README only adds Docker Compose–specific behavior; do not duplicate the env reference here.
Set production values in `.env` (e.g. `KEYCLOAK_HOSTNAME`, `M8FLOW_BACKEND_DATABASE_URI`, secrets) before running.
102
104
105
+
**Docker Compose caveat:** The `m8flow-backend` service sets `KEYCLOAK_URL` and `M8FLOW_KEYCLOAK_URL` to `http://keycloak-proxy:7002` so server-side calls use the proxy, while browsers use the public URL (often `http://localhost:7002` or `http://<host>:7002`). For all other env semantics, see [docs/env-reference.md](../docs/env-reference.md).
This file is the **canonical** place for environment variable meanings and examples. The root [README.md](../README.md) and [docker/README.md](../docker/README.md) link here instead of repeating full definitions, to reduce drift.
4
+
5
+
## Keycloak URLs
6
+
7
+
-`KEYCLOAK_HOSTNAME`: Browser/public base URL used to reach Keycloak (for example `http://localhost:7002`). If clients access from another machine, use `http://<host>:7002` (or your real hostname and port).
8
+
-`KEYCLOAK_HOSTNAME_URL`: Public Keycloak base URL Keycloak uses for token issuer (`iss`). In this repo’s Docker Compose, `KC_HOSTNAME_URL` is wired from `KEYCLOAK_HOSTNAME`; set `KEYCLOAK_HOSTNAME` consistently with how users reach Keycloak.
9
+
-`KEYCLOAK_HOSTNAME_HOST` (optional): Hostname segment passed to Keycloak as `KC_HOSTNAME` in [docker/m8flow-docker-compose.yml](../docker/m8flow-docker-compose.yml) (default `localhost`). Adjust if your deployment needs a different hostname for Keycloak’s own hostname configuration.
10
+
-`KEYCLOAK_URL` / `M8FLOW_KEYCLOAK_URL`: Backend URL for Keycloak Admin/API calls. **Docker Compose:** set by compose to `http://keycloak-proxy:7002` for `m8flow-backend` (internal network). **Local dev:** often `http://localhost:7002` to match the proxy port on the host.
11
+
-`M8FLOW_APP_PUBLIC_BASE_URL` (optional): Set when the app and Keycloak are exposed on different public hosts. If unset, `KEYCLOAK_HOSTNAME` is used for generated app-facing URLs where applicable.
12
+
13
+
## Connector attachment paths
14
+
15
+
For SMTP and Slack connectors:
16
+
17
+
-`*_ATTACHMENTS_DIR`: Host/source path where files are read from.
18
+
-`*_ATTACHMENTS_USER_ACCESS_DIR`: User-visible mounted path used in service-task file selection.
For `SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS` patterns (master realm, `admin-cli`, role mapping), see [extensions/m8flow-backend/keycloak/KEYCLOAK_SETUP.md](../extensions/m8flow-backend/keycloak/KEYCLOAK_SETUP.md).
#Mapped volume name for attachments directory. Users will select files from this directory when attaching files in the service task. E.g.: "/email_attachments/file.pdf".
103
+
#SMTP attachment user-visible mount path in service tasks.
#Mapped volume path for attachments directory. Users select files from this path when attaching in the service task. E.g.: "/slack_attachments/sample.txt".
111
+
#Slack attachment user-visible mount path in service tasks.
#Set KEYCLOAK_HOSTNAME to the URL users/browser use to reach Keycloak so the backend accepts the token iss claim (e.g. http://localhost:7002 or http://localhost:7002). Required when using Docker or a proxy.
137
+
# Keycloak admin app settings.
138
+
#See docs: README Keycloak Setup and docs/env-reference.md.
141
139
KEYCLOAK_HOSTNAME=http://localhost:7002
142
-
#When Keycloak and the app are on different hosts, set M8FLOW_APP_PUBLIC_BASE_URL (e.g. https://app.example.com or http://localhost:7001). When not set, KEYCLOAK_HOSTNAME is used.
140
+
#Optional public app URL when app and Keycloak are on different hosts.
143
141
# M8FLOW_APP_PUBLIC_BASE_URL=
144
142
KEYCLOAK_URL=http://localhost:7002
145
143
KEYCLOAK_REALM=tenant-a
146
144
KEYCLOAK_ADMIN_USER=admin
147
-
# Admin password for create-realm API (KEYCLOAK_ADMIN_PASSWORD or M8FLOW_KEYCLOAK_ADMIN_PASSWORD).
0 commit comments