MCP Server Docker Compose Installation
Install the JFrog MCP Server using Docker Compose to deploy the MCP service alongside the JFrog Platform on non-Kubernetes environments.
Install the JFrog MCP Server on a non-Kubernetes host using Docker Compose.
Prerequisites
Before you begin, verify the following:
| Prerequisite | Details |
|---|---|
| PostgreSQL | The configuration script can install a bundled PostgreSQL database automatically, or you can connect to an existing external database. To set up an external database in advance, see PostgreSQL for MCP Server. |
| Docker Engine and Docker Compose v2 | 20.10 or later. See System Requirements. |
| JFrog Platform Deployment (JPD) | A running JPD is required. |
Install Steps
Follow these steps to install the JFrog MCP Server using a Docker Compose package.
-
Download the latest Docker Compose package.
-
Extract the contents of the compressed archive (
.tar.gzfile) and then go to the extracted folder.tar -xvf jfrog-wingman-<VERSION>-compose.tar.gz.env File Included Within the Docker Compose Archive
The
.envfile is used by docker-compose and is updated during installations and upgrades.Some operating systems do not display dot files by default. Back up the file before upgrading.
Docker for Mac
When you use Docker Compose on Mac,
/etc/localtimemight not work as expected since it might not be a shared location in the Docker for Mac settings.You can remove the following line from the selected
docker-compose.yamlfile to avoid installation issues.- /etc/localtime:/etc/localtime:ro -
Update the
.envfile.You can set the installation directory for the JFrog MCP Server. The default value is
$HOME/.jfrog/wingman.ROOT_DATA_DIR= -
Run the interactive configuration script from the extracted folder.
./config.shThe script runs through the following prompts in sequence.
-
Beta Agreement
The script displays the JFrog Online Beta Agreement and requires your acceptance before proceeding.
The JFrog MCP Server is currently in beta. By continuing, you accept the JFrog Online Beta Agreement (accessible online at https://docs.jfrog.com/installation/docs/mcp-server-beta-agreement ). Do you accept and agree to the above? [y/N]Enter
yto accept and continue. Enteringnaborts the installation. -
Installation Directory
If
ROOT_DATA_DIRis already set in the.envfile, this prompt is skipped automatically. Otherwise, the script prompts:Installation Directory (Default: /root/.jfrog/wingman):Press Enter to accept the default, or enter a custom path.
-
Connection Details
Provide values for the following keys when prompted:
Key Description JFrog URL The URL of the self-managed JPD. Used to register the MCP server in the JPD topology. Join Key The secret key used to establish trust between services in the JFrog Platform. Master Key The unique master key that the MCP server service requires. The JFrog URL allows Wingman to connect to a JFrog Platform Instance. (You can copy the JFrog URL from Administration > Security > General > Connection details) JFrog URL [http(s)://artifactory.server.host:8082]:The Join Key is the secret key used to establish trust between services in the JFrog Platform. (You can copy the Join Key from Administration > Security > General > Connection details) Join Key:Provide the Artifactory's master key. It can be found in the data directory of the artifactory under /etc/security/master.key Master Key: -
IP Address
Enter the IP address of this machine, or press Enter to accept the auto-detected default.
For IPv6 address, enclose value within square brackets as follows : [<ipv6_address>] Please specify the IP address of this machine (Default: <auto-detected>): -
PostgreSQL
The script asks whether to install the bundled PostgreSQL instance or connect to an existing external database.
The installer can install a PostgreSQL database, or you can connect to an existing compatible PostgreSQL database (https://jfrog.com/help/r/jfrog-installation-setup-documentation/requirements-matrix) If you are upgrading from an existing installation, select N if you have externalized PostgreSQL, select Y if not. Do you want to install PostgreSQL? [Y/n]:-
Enter
Yto install the bundled PostgreSQL database. The script then prompts for a database password.To setup PostgreSQL, please enter a password database password: confirm database password: -
Enter
Nif you have already configured an external PostgreSQL database.
-
-
Completion
After you answer all prompts, the script creates the required directories, seeds the database (if bundled PostgreSQL was selected), and completes the setup.
Creating third party directories (if necessary) Attempting to seed PostgreSQL. This may take some time. Successfully seeded PostgreSQL Log rotation for [<INSTALL_DIR>/var/log/console.log] has not been configured. Please setup manually Docker setup complete Installation directory: [<INSTALL_DIR>] contains data and configurations. Use docker-compose commands to start the application. Once the application has started, it can be accessed at [http://<client-ip>:8082] Examples: cd <EXTRACTED_FOLDER> start postgresql: docker compose -p wingman-postgres -f docker-compose-postgres.yaml up -d stop postgresql: docker compose -p wingman-postgres -f docker-compose-postgres.yaml down start: docker compose -p wingman up -d stop: docker compose -p wingman downRun Commands from the Extracted Folder
The compose files use environment variables from the
.envfile. Always rundocker composecommands from within the extracted folder.
-
-
Start the JFrog MCP Server.
docker compose -p wingman up -d
Verify the Installation
-
To check the status of the running JFrog MCP Server, run the following command.
docker compose -p wingman ps -
To check the JFrog MCP Server logs, run the following command.
docker compose -p wingman logs
Frequently Asked Questions
Q: Where is the MCP Server installation directory configured?
In the .env file using the ROOT_DATA_DIR variable. The default is $HOME/.jfrog/wingman.
Q: Can I switch from bundled PostgreSQL to an external database after installation?
Yes. Stop the MCP Server, update the database connection details in $JFROG_HOME/wingman/var/etc/system.yaml, and restart. See PostgreSQL for MCP Server.
Q: Why does Docker for Mac have issues with /etc/localtime?
/etc/localtime is not a shared location in Docker for Mac settings by default. Remove that line from your docker-compose.yaml to avoid installation issues.
Related Topics
- MCP Server Installation
- System Requirements
- PostgreSQL for MCP Server
- MCP Server Helm Chart Installation
- Enable MCP Server Integration
JFrog MCP Server Beta
The JFrog MCP Server is in beta. Client integration details may change as the feature evolves. By using this service, you agree to the JFrog MCP Server Beta Agreement.
Updated about 23 hours ago
