Skip to content

feat: containerize setup with docker-compose and support HOST environment variable#1

Open
berezovskyi wants to merge 1 commit into
masterfrom
feature/docker-compose-automation
Open

feat: containerize setup with docker-compose and support HOST environment variable#1
berezovskyi wants to merge 1 commit into
masterfrom
feature/docker-compose-automation

Conversation

@berezovskyi

@berezovskyi berezovskyi commented Jun 6, 2026

Copy link
Copy Markdown
Member

Together with OSLC/bmm-server#1 this PR:

  • Allows a simple startup with docker compose up
  • Prints conspicuously in the log at the end of the startup the browser URL for the user to visit
  • Pre-fills http://localhost:3005/oslc in the Server URL field for smoother first-run experience.

@berezovskyi

Copy link
Copy Markdown
Member Author

To be combined with OSLC/bmm-server#1

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds local containerized startup for the BMM OSLC server stack and improves default client/server configuration to work better in container environments.

Changes:

  • Adds a multi-stage Dockerfile and a docker-compose.yml to run bmm-server with a Fuseki backend.
  • Adds HOST environment variable support for server listen binding.
  • Updates oslc-browser to default its OSLC server URL to the current origin (/oslc).

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
package.json Extends npm workspaces list to include additional packages.
oslc-browser/src/hooks/useOslcClient.ts Sets a browser-origin-based default OSLC server URL.
mrm-server/src/env.ts Adds support for HOST env var when selecting listen host.
Dockerfile Introduces container build/runtime steps for the monorepo + BMM UI build.
docker-compose.yml Defines local compose stack for Fuseki + bmm-server.
create-oslc-server.ts Adds support for HOST env var when selecting listen host in generated servers.
.dockerignore Reduces Docker build context by excluding common large/unneeded paths.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 636 to 640
const saved = loadSavedConnection();
const defaultURL = typeof window !== 'undefined' ? `${window.location.origin}/oslc` : '';
return {
serverURL: saved.serverURL ?? '',
serverURL: saved.serverURL ?? defaultURL,
username: saved.username ?? '',
Comment thread Dockerfile Outdated
Comment on lines +7 to +25
COPY oslc4js/package*.json ./
COPY oslc4js/storage-service/package*.json ./storage-service/
COPY oslc4js/jena-storage-service/package*.json ./jena-storage-service/
COPY oslc4js/ldp-service/package*.json ./ldp-service/
COPY oslc4js/oslc-service/package*.json ./oslc-service/
COPY oslc4js/oslc-client/package*.json ./oslc-client/
COPY oslc4js/oslc-browser/package*.json ./oslc-browser/
COPY bmm-server/package*.json ./bmm-server/
COPY bmm-server/ui/package*.json ./bmm-server/ui/

# Install workspaces dependencies
RUN npm install

# Copy the entire monorepo source code
COPY oslc4js/ .

# Overwrite bmm-server with the standalone bmm-server source code
COPY bmm-server/ ./bmm-server/

Comment thread Dockerfile
Comment on lines +51 to +54
WORKDIR /usr/src/app/bmm-server
RUN chmod +x start.sh testing/populate-eurent.sh

CMD ["./start.sh"]

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be solved by OSLC/bmm-server#1

Comment thread docker-compose.yml Outdated
Comment on lines +15 to +17
build:
context: ..
dockerfile: oslc4js/Dockerfile
Comment thread package.json
Comment on lines +14 to +16
"bmm-server",
"oslc-client",
"oslc-browser"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, is this a copilot problem resolving a submodule?

@berezovskyi berezovskyi force-pushed the feature/docker-compose-automation branch from dff1a80 to 6ca386c Compare June 6, 2026 18:11
@berezovskyi berezovskyi force-pushed the feature/docker-compose-automation branch from 6ca386c to 2ad81ca Compare June 6, 2026 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants