Skip to main content

Nuxeo LTS 2025 Stack

Development Snapshot

This stack is under active development. It is not yet in production.


The Nuxeo LTS 2025 stack is the modernized content platform for SureClinical. It replaces the legacy SC Nuxeo 5.6 stack and provides:

  • A Nuxeo LTS 2025 document server (content store, repository, Automation API)
  • A Nuxeo Web UI browser frontend — embedded via iframe in the SureCentric Project Desktop
  • An APISIX reverse proxy gateway as the single browser entry point
  • A Logto identity provider for dev-only OIDC login
  • A Cloudflare tunnel for dev-only external access

This stack is the deveopment baseline for validating Nuxeo 2025 + SureCentric integration before the SC legacy stack is retired.


Production Baseline

The Nuxeo server image is built from the pinned Nuxeo LTS 2025.12 release:

PropertyValue
Pinned commitcca344490e20f8f87bb550c4e5c27f04a3e273fa
Release2025.12 — released Dec 16 2025
GitHub sourcehttps://github.com/SureClinical/Nuxeo/2025/Nuxeo-Prod-2025.12
Local source path/Users/jetstart/dev/sureclinical/Nuxeo/2025/Nuxeo-Prod-2025.12
important

Always build from the pinned 2025.12 commit. Do not use the moving 2025 branch head — it contains post-release development that has not been validated.


Docker Compose Stack: nuxeo-webui-2025-local

Compose file: upstream/nuxeo/2025/Nuxeo-webui-2025-local/docker-compose.yml

ContainerImagePortRole
nuxeo-webui-app-2025nuxeo-sc-2025:local28080→8080Nuxeo LTS 2025 server
nuxeo-webui-db-2025postgres:1625432→5432Nuxeo database
nuxeo-webui-apisix-localapache/apisix:3.11.0-debian25080→9080API gateway (browser entry point)
nuxeo-web-ui-localnuxeo-web-ui:3.1.29-localNuxeo Web UI (served via APISIX)
nuxeo-webui-cloudflaredcloudflare/cloudflared:latestDev-only external tunnel
nuxeo-webui-logtosvhd/logto:latestDev-only OIDC identity
nuxeo-webui-logto-postgrespostgres:17-alpine26434→5432Logto database

Start the stack

cd upstream/nuxeo/2025/Nuxeo-webui-2025-local
docker compose up

To include Logto:

docker compose --profile auth up

GCP Image Registry

Both images are published to the SC shared Docker registry at:

us-east1-docker.pkg.dev/sc-internal/sc-docker/sureclinical/

Available images

ImageGCP TagSize
nuxeo-sc-2025:localnuxeo-sc-2025:2025.12~1.8 GB uncompressed
nuxeo-web-ui:3.1.29-localnuxeo-web-ui:3.1.29

Developer setup — pull from GCP

gcloud auth configure-docker us-east1-docker.pkg.dev

docker pull us-east1-docker.pkg.dev/sc-internal/sc-docker/sureclinical/nuxeo-sc-2025:2025.12
docker pull us-east1-docker.pkg.dev/sc-internal/sc-docker/sureclinical/nuxeo-web-ui:3.1.29

# Re-tag to match docker-compose.yml
docker tag us-east1-docker.pkg.dev/sc-internal/sc-docker/sureclinical/nuxeo-sc-2025:2025.12 nuxeo-sc-2025:local
docker tag us-east1-docker.pkg.dev/sc-internal/sc-docker/sureclinical/nuxeo-web-ui:3.1.29 nuxeo-web-ui:3.1.29-local

Load from archive (if not using GCP)

docker load -i /path/to/nuxeo-sc-2025-local.tar.gz

The archive file is at: /Users/jetstart/dev/sureclinical/Nuxeo/2025/Nuxeo-sc-2025-local/nuxeo-sc-2025-local.tar.gz


Key Nuxeo Configuration

Config files are in upstream/nuxeo/2025/Nuxeo-webui-2025-local/conf.d/.

20-webui-proxy.conf — APISIX proxy settings

# Public URL seen by browsers (via APISIX)
nuxeo.url=http://localhost:25080/nuxeo

# Trust APISIX as a reverse proxy for CSRF validation
nuxeo.security.csrf.trustProxies=apisix

# Allow CORS from the APISIX origin
nuxeo.cors.urls=http://localhost:25080

# Dev-only: allow non-secure cookies over plain HTTP
nuxeo.bind.secure=false

SureNetwork integration properties

When this stack is running alongside the SureNetwork stack, add to nuxeo.conf:

suredms.network.api.url=http://network-service:8880
suredms.network.api.username=user
suredms.network.api.password=1234qwER
suredms.network.api.admin_username=admin
suredms.network.api.admin_password=1234qwER
suredms.network.api.external_username=external
suredms.network.api.external_password=1234qwER

Local URLs

ServiceURL
Nuxeo server (direct)http://localhost:28080/nuxeo
Nuxeo Web UI + APISIXhttp://localhost:25080
Logto admin (optional)http://localhost:25080/logto-admin/

SureDMS Extensions — Porting Status

The Nuxeo server image currently runs a base Nuxeo 2025 instance. The SureDMS-specific backend extensions are being ported from Nuxeo 5.6.

ModulePriorityStatus
suredms-nuxeo-mobile-apiTier 1🔄 Pending port
suredms-nuxeo-doctypesTier 1🔄 Pending port
suredms-nuxeo-securityTier 1🔄 Pending port
suredms-nuxeo-managementTier 1🔄 Pending port
suredms-nuxeo-projectTier 1🔄 Pending port
suredms-nuxeo-databaseTier 1🔄 Pending port
suredms-nuxeo-deployment-profileTier 1🔄 Pending port
suredms-nuxeo-workflow-platformTier 2⏳ Later
suredms-nuxeo-flexTier 2⏳ Later

Future Integration with SureCentric Platform

This stack is the target replacement for the SC Legacy Nuxeo 5.6 stack.

Planned convergence:

  1. Tier 1 SureDMS extensions are ported and installed into this image
  2. SureDrive (AngularJS) iframe connects to this Nuxeo 2025 backend instead of the legacy 5.6 stack
  3. Full login and document navigator path validated on Nuxeo 2025
  4. SC legacy (sc stack) is retired — Nuxeo 2025 becomes the only Nuxeo
  5. This stack's database (PostgreSQL 16) absorbs the SC legacy database
  6. The four-stack topology collapses toward a unified compose

See Platform Roadmap for the full phase plan.