1- # Copy to .env and replace <LOCAL_IP> with your machine IP (see README).
1+ # Copy to .env (see README).
22# Backend accepts both M8FLOW_BACKEND_* and SPIFFWORKFLOW_BACKEND_* for mapped vars (see extensions/env_var_mapper.py).
33#
44# --- Postgres (required for m8flow-db; set POSTGRES_PASSWORD). ---
@@ -19,31 +19,31 @@ WATCHFILES_FORCE_POLLING=true
1919
2020# --- Database (SQLAlchemy URI) ---
2121M8FLOW_BACKEND_DATABASE_TYPE = postgres
22- M8FLOW_BACKEND_DATABASE_URI = postgresql://postgres:postgres@<LOCAL_IP> :1111/postgres
22+ M8FLOW_BACKEND_DATABASE_URI = postgresql://postgres:postgres@localhost :1111/postgres
2323# M8FLOW and Spiff DB migrations on startup.
2424M8FLOW_BACKEND_UPGRADE_DB = true
2525M8FLOW_BACKEND_SW_UPGRADE_DB = true
2626
2727
28- # --- Ports / URLs (replace <LOCAL_IP> with your machine IP) ---
28+ # --- Ports / URLs ---
2929# M8FLOW_FRONTEND_PORT=7001 # default; matches start_dev.sh and docker/m8flow-docker-compose.yml
3030M8FLOW_BACKEND_PORT = 7000
31- M8FLOW_BACKEND_URL = http://<LOCAL_IP> :7000
32- M8FLOW_BACKEND_URL_FOR_FRONTEND = http://<LOCAL_IP> :7001
31+ M8FLOW_BACKEND_URL = http://localhost :7000
32+ M8FLOW_BACKEND_URL_FOR_FRONTEND = http://localhost :7001
3333SPIFFWORKFLOW_BACKEND_API_PATH_PREFIX = /v1.0
3434# CORS: comma-separated frontend origins (host:port).
35- M8FLOW_BACKEND_CORS_ALLOW_ORIGINS = localhost:7001,localhost:5173,127.0.0.1:7001,<LOCAL_IP> :7001
35+ M8FLOW_BACKEND_CORS_ALLOW_ORIGINS = localhost:7001,localhost:5173,127.0.0.1:7001,localhost :7001
3636
3737# BPMN and templates paths (container or host).
3838M8FLOW_BACKEND_BPMN_SPEC_ABSOLUTE_DIR = ./process_models
3939M8FLOW_TEMPLATES_STORAGE_DIR = ./templates
4040
4141# --- Auth (OIDC / Keycloak) ---
4242# KEYCLOAK_HOSTNAME=http://localhost:7002 # URL used to reach Keycloak; set to http://<host>:7002 when accessing from another machine
43- # KEYCLOAK_HOSTNAME_URL=http://<LOCAL_IP> :7002 # Public Keycloak base URL; tokens use this as issuer (iss)
43+ # KEYCLOAK_HOSTNAME_URL=http://localhost :7002 # Public Keycloak base URL; tokens use this as issuer (iss)
4444# With Docker Compose, KEYCLOAK_URL is set to http://keycloak-proxy:7002 so the backend uses the proxy.
45- M8FLOW_KEYCLOAK_URL = http://<LOCAL_IP> :7002
46- M8FLOW_BACKEND_OPEN_ID_SERVER_URL = http://<LOCAL_IP> :7002/realms/spiffworkflow
45+ M8FLOW_KEYCLOAK_URL = http://localhost :7002
46+ M8FLOW_BACKEND_OPEN_ID_SERVER_URL = http://localhost :7002/realms/spiffworkflow
4747M8FLOW_BACKEND_OPEN_ID_CLIENT_ID = spiffworkflow-backend
4848M8FLOW_BACKEND_OPEN_ID_CLIENT_SECRET_KEY =
4949M8FLOW_BACKEND_OPEN_ID_IS_AUTHORITY_FOR_USER_GROUPS = true
@@ -58,26 +58,26 @@ M8FLOW_KEYCLOAK_SPOKE_KEYSTORE_PASSWORD=
5858# For master-realm super-admin browser access, add a second config: identifier=master, uri=.../realms/master.
5959# If you also use API-style admin-cli tokens, add additional_valid_client_ids=admin-cli; the backend can map
6060# matching M8Flow realm roles from realm_access.roles when no groups claim is present.
61- # SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__identifier=spiffworkflow-local
62- # SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__label=Keycloak
63- # SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__uri=http://localhost:7002/realms/spiffworkflow-local
64- # SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__client_id=spiffworkflow-backend
65- # SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__client_secret=JXeQExm0JhQPLumgHtIIqf52bDalHz0q
66- # SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__1__identifier=master
67- # SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__1__uri=http://localhost:7002/realms/master
68- # SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__1__client_id=spiffworkflow-backend
69- # SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__1__client_secret=JXeQExm0JhQPLumgHtIIqf52bDalHz0q
70- # SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__1__additional_valid_client_ids=admin-cli
71- # SPIFFWORKFLOW_BACKEND_OPEN_ID_ADDITIONAL_VALID_ISSUERS=http://localhost:7002/realms/master,http://localhost:7002/realms/m8flow
61+ SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__identifier = spiffworkflow-local
62+ SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__label = Keycloak
63+ SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__uri = http://localhost:7002/realms/spiffworkflow-local
64+ SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__client_id = spiffworkflow-backend
65+ SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__0__client_secret = JXeQExm0JhQPLumgHtIIqf52bDalHz0q
66+ SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__1__identifier = master
67+ SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__1__uri = http://localhost:7002/realms/master
68+ SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__1__client_id = spiffworkflow-backend
69+ SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__1__client_secret = JXeQExm0JhQPLumgHtIIqf52bDalHz0q
70+ SPIFFWORKFLOW_BACKEND_AUTH_CONFIGS__1__additional_valid_client_ids = admin-cli
71+ SPIFFWORKFLOW_BACKEND_OPEN_ID_ADDITIONAL_VALID_ISSUERS = http://localhost:7002/realms/master,http://localhost:7002/realms/m8flow
7272# Optional local-development bootstrap for the master realm browser client and global admin user.
7373# M8FLOW_KEYCLOAK_MASTER_CLIENT_SECRET=JXeQExm0JhQPLumgHtIIqf52bDalHz0q
7474# KEYCLOAK_SUPER_ADMIN_USER=super-admin
7575# KEYCLOAK_SUPER_ADMIN_PASSWORD=super-admin
7676
7777# --- Celery / Redis ---
7878M8FLOW_BACKEND_CELERY_ENABLED = true
79- M8FLOW_BACKEND_CELERY_BROKER_URL = redis://<LOCAL_IP> :6379/0
80- M8FLOW_BACKEND_CELERY_RESULT_BACKEND = redis://<LOCAL_IP> :6379/0
79+ M8FLOW_BACKEND_CELERY_BROKER_URL = redis://localhost :6379/0
80+ M8FLOW_BACKEND_CELERY_RESULT_BACKEND = redis://localhost :6379/0
8181# Backend/API should be false; the worker/flower launchers override this inside their own containers.
8282# M8FLOW_BACKEND_RUNNING_IN_CELERY_WORKER=false
8383M8FLOW_BACKEND_RUN_BACKGROUND_SCHEDULER_IN_CREATE_APP = true
@@ -98,7 +98,7 @@ M8FLOW_BACKEND_CELERY_FLOWER_BASIC_AUTH=admin:admin
9898
9999# --- Connector proxy ---
100100CONNECTOR_PROXY_PORT = 8004
101- M8FLOW_BACKEND_CONNECTOR_PROXY_URL = http://<LOCAL_IP> :8004
101+ M8FLOW_BACKEND_CONNECTOR_PROXY_URL = http://localhost :8004
102102# --- M8Flow Connector: SMTP ---
103103# Local directory for connector to map attachments to.
104104M8FLOW_CONNECTOR_SMTP_ATTACHMENTS_DIR = ../email_attachments
@@ -137,11 +137,11 @@ M8FLOW_ALLOW_MISSING_TENANT_CONTEXT=true
137137# --- Keycloak ---
138138KEYCLOAK_ADMIN = admin
139139# Keycloak admin app: URL, realm, admin user. Backend accepts KEYCLOAK_URL (or M8FLOW_KEYCLOAK_URL).
140- # 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://<LOCAL_IP> :7002). Required when using Docker or a proxy.
141- KEYCLOAK_HOSTNAME = http://<LOCAL_IP> :7002
140+ # 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.
141+ KEYCLOAK_HOSTNAME = http://localhost :7002
142142# 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.
143143# M8FLOW_APP_PUBLIC_BASE_URL=
144- KEYCLOAK_URL = http://<LOCAL_IP> :7002
144+ KEYCLOAK_URL = http://localhost :7002
145145KEYCLOAK_REALM = tenant-a
146146KEYCLOAK_ADMIN_USER = admin
147147# Admin password for create-realm API (KEYCLOAK_ADMIN_PASSWORD or M8FLOW_KEYCLOAK_ADMIN_PASSWORD).
0 commit comments