-
Notifications
You must be signed in to change notification settings - Fork 71
chore(docker): Added support for containerization #88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
b307362 to
b4d384a
Compare
|
Did some testing on my end: if we have to use the ~ as home operator, we need to switch all of the client configs to use |
src/database-mcp-server/Dockerfile
Outdated
|
|
||
| # Install python 3.13 | ||
| RUN microdnf install epel-release | ||
| RUN microdnf install python3.13 python3.13-pip \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
each RUN will result in a new image layer; are these layers intentionally distinct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, they are not. Moving these to a single RUN
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed this.
src/database-mcp-server/Dockerfile
Outdated
| COPY --chown=oracle:oracle . /app | ||
|
|
||
| # Install dependencies | ||
| RUN pip3.13 install --upgrade --no-cache-dir pip \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
won't pip be at the latest version already because of https://github.com/oracle/mcp/pull/88/files#diff-307281fd6b2872ad61ffc2735d2773f28ef7e379beb016db0307ac36228d2573R5?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. Removing this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
src/database-mcp-server/Dockerfile
Outdated
|
|
||
| # Install dependencies | ||
| RUN pip3.13 install --upgrade --no-cache-dir pip \ | ||
| && pip3.13 install --no-cache-dir uv oci-cli |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if it can be installed via pip, then it can be added to the list of dependencies in pyproject.toml (except for uv) and synced with the uv.lock.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's right. All our MCP servers anyway need OCI CLI for authentication, and oci-cli has a dependency of oci, so we can replace oci with oci-cli and not have to install this in the Dockerfile.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
src/database-mcp-server/Dockerfile
Outdated
| @@ -0,0 +1,24 @@ | |||
| FROM ghcr.io/oracle/oraclelinux:9-slim | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for an extra layer of security, can we add the hash for this image here?
FROM <image-name>@sha256:<digest>There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will use the sha256 digest.
b4d384a to
2458572
Compare
- Added a Dockerfile so users can use this to create a docker image and run it - Updated the README with information on building and running the MCP servers as docker containers - Updated the README with sample MCP client configurations for Cline and other clients - Updated the Makefile to add a dockerize target to build the docker images for the MCP servers - Updated the servers to use expanduser so "~" can be expanded properly within the docker container or otherwise
2458572 to
49fb1f8
Compare
| ) | ||
| user_agent_name = __project__.split("oracle.", 1)[1].split("-server", 1)[0] | ||
| config["additional_user_agent"] = f"{user_agent_name}/{__version__}" | ||
| private_key = oci.signer.load_private_key_from_file(config["key_file"]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not expand user around the key files as well?
|
The oci.signer.load_private_key_from_file function already calls the expanduser and hence I have left it as is
https://github.com/oracle/oci-python-sdk/blob/cab81de645ff6ff2630c43a569531339166aa93b/src/oci/signer.py#L30
-Irfan
Confidential- Oracle Internal
From: Will Shope ***@***.***>
Date: Thursday, December 11, 2025 at 5:38 PM
To: oracle/mcp ***@***.***>
Cc: Irfan Ahmed ***@***.***>, Author ***@***.***>
Subject: [External] : Re: [oracle/mcp] chore(docker): Added support for containerization (PR #88)
@shopewf commented on this pull request.
________________________________
In src/oci-migration-mcp-server/oracle/oci_migration_mcp_server/server.py<https://urldefense.com/v3/__https://github.com/oracle/mcp/pull/88*discussion_r2612579609__;Iw!!ACWV5N9M2RV99hQ!N2Tvazu8Qv57Vy4BW8wXWtZ7Jp46EMJdGgNKWwRLnXl4azmKbL4bBbPeX6zAt52HGvuLVyzfvlqFFSA0ZLyZ_xhvsQ$>:
@@ -33,7 +33,7 @@ def get_migration_client():
user_agent_name = __project__.split("oracle.", 1)[1].split("-server", 1)[0]
config["additional_user_agent"] = f"{user_agent_name}/{__version__}"
private_key = oci.signer.load_private_key_from_file(config["key_file"])
why not expand user around the key files as well?
—
Reply to this email directly, view it on GitHub<https://urldefense.com/v3/__https://github.com/oracle/mcp/pull/88*pullrequestreview-3569927351__;Iw!!ACWV5N9M2RV99hQ!N2Tvazu8Qv57Vy4BW8wXWtZ7Jp46EMJdGgNKWwRLnXl4azmKbL4bBbPeX6zAt52HGvuLVyzfvlqFFSA0ZLxOxe_Blw$>, or unsubscribe<https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/ABTQIL5NWGRQDIPF7ZBO6U34BIMA7AVCNFSM6AAAAACOF4SISWVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTKNRZHEZDOMZVGE__;!!ACWV5N9M2RV99hQ!N2Tvazu8Qv57Vy4BW8wXWtZ7Jp46EMJdGgNKWwRLnXl4azmKbL4bBbPeX6zAt52HGvuLVyzfvlqFFSA0ZLxb42FZ-g$>.
You are receiving this because you authored the thread.
|
Description
Type of change
How Has This Been Tested?
Checklist: