Files
open-metadata--openmetadata/docker/development/docker-compose-fuseki.yml
T
wehub-resource-sync bf2343b7e4
Integration Tests - MySQL + Elasticsearch / Detect Changes (push) Waiting to run
Integration Tests - MySQL + Elasticsearch / integration-tests-mysql-elasticsearch (push) Blocked by required conditions
Integration Tests - PostgreSQL + Elasticsearch + Redis / Detect Changes (push) Waiting to run
Integration Tests - PostgreSQL + Elasticsearch + Redis / integration-tests-postgres-elasticsearch-redis (push) Blocked by required conditions
Integration Tests - PostgreSQL + OpenSearch / Detect Changes (push) Waiting to run
Integration Tests - PostgreSQL + OpenSearch / integration-tests-postgres-opensearch (push) Blocked by required conditions
Java Checkstyle / java-checkstyle (push) Waiting to run
Maven Collate Tests / maven-collate-ci (push) Waiting to run
OpenMetadata Service Unit Tests / Detect Changes (push) Waiting to run
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests (push) Blocked by required conditions
OpenMetadata Service Unit Tests / k8s_operator-unit-tests (push) Blocked by required conditions
OpenMetadata Service Unit Tests / openmetadata-service-unit-tests-status (push) Blocked by required conditions
Publish Package to Maven Central Repository / publish-maven-packages (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 13:35:45 +08:00

97 lines
3.7 KiB
YAML

version: "3.9"
# Compose override for RDF-enabled local stacks.
# Use together with docker-compose.yml or docker-compose-postgres.yml.
services:
execute-migrate-all:
environment:
RDF_ENABLED: ${RDF_ENABLED:-true}
RDF_STORAGE_TYPE: ${RDF_STORAGE_TYPE:-FUSEKI}
RDF_ENDPOINT: ${RDF_ENDPOINT:-http://fuseki:3030/openmetadata}
RDF_REMOTE_USERNAME: ${RDF_REMOTE_USERNAME:-admin}
RDF_REMOTE_PASSWORD: ${RDF_REMOTE_PASSWORD:-admin}
RDF_BASE_URI: ${RDF_BASE_URI:-https://open-metadata.org/}
RDF_JSONLD_ENABLED: ${RDF_JSONLD_ENABLED:-true}
RDF_SPARQL_ENABLED: ${RDF_SPARQL_ENABLED:-true}
RDF_DATASET: ${RDF_DATASET:-openmetadata}
depends_on:
fuseki:
condition: service_healthy
openmetadata-server:
environment:
RDF_ENABLED: ${RDF_ENABLED:-true}
RDF_STORAGE_TYPE: ${RDF_STORAGE_TYPE:-FUSEKI}
RDF_ENDPOINT: ${RDF_ENDPOINT:-http://fuseki:3030/openmetadata}
RDF_REMOTE_USERNAME: ${RDF_REMOTE_USERNAME:-admin}
RDF_REMOTE_PASSWORD: ${RDF_REMOTE_PASSWORD:-admin}
RDF_BASE_URI: ${RDF_BASE_URI:-https://open-metadata.org/}
RDF_JSONLD_ENABLED: ${RDF_JSONLD_ENABLED:-true}
RDF_SPARQL_ENABLED: ${RDF_SPARQL_ENABLED:-true}
RDF_DATASET: ${RDF_DATASET:-openmetadata}
depends_on:
fuseki:
condition: service_healthy
fuseki:
# Build from the in-repo Dockerfile (Fuseki 5.6.0) instead of the
# unmaintained `stain/jena-fuseki` Docker Hub image, which capped at 5.1.0
# and never picked up the 2025 admin-side Fuseki CVE fixes (CVE-2025-49656,
# CVE-2025-50151 — both fixed in Jena 5.5.0). The `image:` tag below names
# the locally-built image so subsequent `docker compose up` runs reuse the
# cached build instead of rebuilding from scratch each time.
build:
context: ../rdf-store
dockerfile: Dockerfile
image: openmetadata-fuseki:5.6.0
container_name: openmetadata-fuseki
hostname: fuseki
ports:
- "3030:3030"
networks:
- local_app_net
environment:
# Default for local dev only — production deployments MUST override
# via the FUSEKI_ADMIN_PASSWORD env var (and FUSEKI_OPENMETADATA_PASSWORD)
# before bringing this stack up. The entrypoint envsubsts these into
# shiro.ini at container start so the override actually takes effect.
- FUSEKI_ADMIN_PASSWORD=${FUSEKI_ADMIN_PASSWORD:-admin}
- FUSEKI_OPENMETADATA_PASSWORD=${FUSEKI_OPENMETADATA_PASSWORD:-openmetadata-secret}
- JVM_ARGS=${FUSEKI_JVM_ARGS:--Xmx1500m -Xms256m}
volumes:
# New volume name (was `fuseki-data` mounted at `/fuseki`). The in-repo
# Dockerfile stores TDB2 at `/fuseki-data` and the data layout differs
# from the old stain/jena-fuseki image — re-using the previous volume
# name would mount stale state at a path Fuseki no longer reads from,
# silently looking like an empty database. Using a fresh volume name
# forces operators to consciously migrate (or accept a re-index). The
# orphaned `fuseki-data` volume can be removed manually with
# `docker volume rm fuseki-data` after confirming the new stack is
# healthy.
- fuseki-tdb2-data:/fuseki-data
deploy:
resources:
limits:
memory: 2G
reservations:
memory: 256m
restart: "on-failure:3"
healthcheck:
test: "curl -s -f http://localhost:3030/\\$/ping > /dev/null || exit 1"
interval: 15s
timeout: 10s
retries: 20
start_period: 60s
networks:
local_app_net:
name: ometa_network
ipam:
driver: default
config:
- subnet: "172.16.239.0/24"
volumes:
fuseki-tdb2-data:
driver: local