feat: bundle XTM One in the default stack#128
Closed
azubiolo-filigran wants to merge 2 commits into
Closed
Conversation
Adds XTM One alongside OpenAEV in the default compose: - New pgsql-copilot service (pgvector/pgvector:pg17) for XTM One's vector store, with dedicated credentials (kept separate from the OpenAEV pg cluster). - New redis service (required by XTM One for queues, cache, websockets) \u2014 OpenAEV itself does not need it. - New xtm-one + xtm-one-worker services on port 4000, sharing the existing minio. - PLATFORM_REGISTRATION_TOKEN shared secret plumbed into the openaev service (OPENAEV_XTM_ONE_URL / OPENAEV_XTM_ONE_TOKEN) and into XTM One (OPENAEV_* federation env vars). - .env.sample documents the new XTM ONE block. Refs XTM-One-Platform/xtm-one#1011
58d1099 to
2979d68
Compare
- Set OPENAEV_BASE-URL to internal hostname (http://openaev:8080) - Set BASE_URL to internal hostname (http://xtm-one:4000) - Add build directives for xtm-one and xtm-one-worker (context: ../xtm-one) - Align XTM_ONE_ADMIN_EMAIL with OPENAEV_ADMIN_EMAIL in .env.sample
Member
Author
Testing: OpenAEV + XTM One Docker SetupSteps to reproduce# 1. Clone both repos side-by-side
git clone git@github.com:OpenAEV-Platform/docker.git openaev-docker
git clone git@github.com:XTM-One-Platform/xtm-one.git xtm-one
cd openaev-docker
git checkout feat/xtm-one-default
# 2. Create .env from sample
cp .env.sample .env
# Replace mandatory values:
sed -i "s/OPENAEV_ADMIN_TOKEN=00000000-0000-0000-0000-000000000000/OPENAEV_ADMIN_TOKEN=$(uuidgen)/" .env
sed -i "s/XTM_ONE_SECRET_KEY=ChangeMeWithGeneratedRandomString/XTM_ONE_SECRET_KEY=$(openssl rand -hex 32)/" .env
# 3. Build and start (builds xtm-one from local clone)
docker compose up -d --build
# 4. Wait (~2-3 min) then verify
docker compose ps # all services healthy
Credentials
Key fixes in this commit
DependencyRequires XTM-One-Platform/xtm-one#1070 ( Status
|
Member
Author
|
Closing in favor of a new PR from the upstream branch (same changes). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objective
Adds XTM One alongside OpenAEV in the default Docker stack so
docker compose up -dbrings the full XTM One + OpenAEV experience by default.Refs XTM-One-Platform/xtm-one#1011. Companion PRs:
Changes
New services
pgsql-copilot(pgvector/pgvector:pg17) — dedicated Postgres+pgvector instance for XTM One, with its own credentials, kept separate from the OpenAEV pg cluster.redis(redis:8.6.3) — required by XTM One (queues, cache, websockets). OpenAEV itself does not use it; it is added solely for XTM One.xtm-one— exposes the XTM One UI/API on${XTM_ONE_PORT}(default4000), reuses the existingminio.xtm-one-worker— async worker, depends onxtm-onebeing healthy.Inter-platform wiring
PLATFORM_REGISTRATION_TOKENshared secret.openaevservice now receivesOPENAEV_XTM_ONE_URL/OPENAEV_XTM_ONE_TOKEN.xtm-oneservice receivesOPENAEV_*federation env vars (URL, internal API URL, admin token).Documentation
.env.samplegets a newXTM ONEblock documenting admin credentials, image tag, dedicated Postgres credentials, S3 bucket, optional license, and the sharedPLATFORM_REGISTRATION_TOKEN.Scope
docker-compose.ymlis touched.docker-compose.dev.yml,docker-compose.caldera*.ymlandcaldera.ymlare intentionally left alone for now and will be handled in follow-ups if needed.Verification
The same configuration has been validated end-to-end inside the unified xtm-docker stack (companion PR FiligranHQ/xtm-docker#15): all services reach
healthy, OpenAEV and XTM One register successfully viaPLATFORM_REGISTRATION_TOKEN, and cross-platform features work as expected.Notes
FiligranHQ/xtm-docker(canonical source). Keeping it minimal so future syncs stay easy./api/health?...endpoint is flaky during startup (depends on optional subsystems like mail/ES warm-up). It still works under steady state, so this PR leaves the existing OpenAEV healthcheck unchanged — but/actuator/health/pingis a more reliable alternative if you want it in a follow-up.