Sign inSign up

dockersamples/labspace-mcp-gateway:latest

Manifest digest

sha256:dc41032d47aa8463ed54adec15d9c4060e53315a8c6f877a0f59cc0d463d0360

Last pushed

5 months by dockersamplesbuildbot

Type

Compose

Manifest digest

sha256:dc41032d47aa8463ed54adec15d9c4060e53315a8c6f877a0f59cc0d463d0360

Compose file content

##################################################################################################
# This Compose file is intended to run a Labspace. It can be run with the following:
#
# CONTENT_REPO_URL=https://github.com/username/labspace-content-repo docker compose -f compose.run.yaml up
##################################################################################################

services:
  configurator:
    image: dockersamples/labspace-configurator:v0.26.0
    use_api_socket: true
    volumes:
      - labspace-content:/project
      - labspace-instructions:/instructions
      - docker-creds:/docker-creds
      - labspace-support:/etc/labspace-support

  interface:
    image: dockersamples/labspace-interface:v0.26.0
    ports:
      - "3030:3030"
    volumes:
      - labspace-instructions:/labspace/instructions:ro
      - type: volume
        source: labspace-support
        target: /etc/labspace-support/private-key
        volume:
          subpath: private-key
      - type: volume
        source: labspace-support
        target: /etc/labspace-support/socket
        volume:
          subpath: socket
      - type: volume
        source: labspace-support
        target: /etc/labspace-support/metadata
        volume:
          subpath: metadata
    depends_on:
      workspace:
        condition: service_started
      configurator:
        condition: service_completed_successfully
    restart: unless-stopped

  workspace:
    image: dockersamples/labspace-workspace-node:v0.26.0
    depends_on:
      configurator:
        condition: service_completed_successfully
      socket-proxy:
        condition: service_started
    ports:
      - 8085:8085 # For the IDE itself
      - 3000:3000 # For the Node application running in the IDE
    volumes:
      - socket-proxy:/var/run
      - labspace-content:/home/coder/project
      - docker-creds:/docker-creds
      - type: volume
        source: labspace-support
        target: /etc/labspace-support/public-key
        volume:
          subpath: public-key
      - type: volume
        source: labspace-support
        target: /etc/labspace-support/socket
        volume:
          subpath: socket


  host-republisher:
    image: dockersamples/labspace-host-port-republisher:v0.26.0
    pull_policy: always
    restart: always
    volumes:
      - socket-proxy:/var/run
    network_mode: service:workspace
    environment:
      LABEL_FILTER: labspace-resource=true
    depends_on:
      - workspace
      - socket-proxy

  workspace-cleaner:
    image: dockersamples/labspace-cleaner:v0.26.0
    pull_policy: always
    volumes:
      - socket-proxy:/var/run
    environment:
      LABEL_FILTER: labspace-resource=true
    depends_on:
      - socket-proxy

  socket-proxy:
    image: mikesir87/docker-socket-proxy:v1.3.1
    volumes:
      - socket-proxy:/tmp/proxy
      - /var/run/docker.sock:/var/run/docker.sock
    configs:
      - source: docker-proxy-config-labels
        target: /etc/docker-socket-proxy/config.d/add-and-require-labels.yaml
      - source: docker-proxy-mount-remap
        target: /etc/docker-socket-proxy/config.d/mount-path-remap.yaml
      - source: docker-proxy-mount-allowlist
        target: /etc/docker-socket-proxy/config.d/mount-path-allowlist.yaml
      - source: docker-proxy-forward-proxied-socket
        target: /etc/docker-socket-proxy/config.d/forward-proxied-socket.yaml
      - source: docker-proxy-add-to-labspace-network
        target: /etc/docker-socket-proxy/config.d/add-to-labspace-network.yaml
    environment:
      DEBUG_LOGS: "true"
      LISTEN_SOCKET_PATH: /tmp/proxy/docker.sock

volumes:
  socket-proxy:
    name: labspace-socket-proxy
  labspace-content:
    name: labspace-content
  labspace-instructions:
  docker-creds:
  labspace-support:

networks:
  default:
    name: labspace

configs:
  docker-proxy-config-labels:
    content: |
      mutators:
        # Add labels to all newly created objects
        - type: addLabels
          labels:
            labspace-resource: "true"
      responseFilters:
        # Only return objects with the labels we mutated on
        - type: labelFilter
          objectsToFilter:
            - containers
            - volumes
            - networks
          requiredLabels:
            labspace-resource: "true"
  docker-proxy-mount-remap:
    content: |
      # Remap the project directory to the labspace content volume, since the project
      # is running out of a volume.
      mutators:
        - type: mountPath
          from: /home/coder/project
          to: labspace-content
  docker-proxy-mount-allowlist:
    content: |
      gates:
        - type: mountSource
          allowedSources:
            - labspace-content
            - labspace-socket-proxy
            - buildx_buildkit_default_state
            - label:labspace-resource=true
  docker-proxy-forward-proxied-socket:
    content: |
      # If requests to use the Docker Socket are used (such as Testcontainers),
      # use the proxied one to ensure permissions, remappings, etc. are applied
      mutators:
        - type: mountPath
          from: /var/run/docker.sock
          to: labspace-socket-proxy/docker.sock
  docker-proxy-add-to-labspace-network:
    content: |
      mutators:
        - type: addToNetwork
          networks:
            - labspace
services:
  workspace:
    environment:
      HOST: 0.0.0.0
      DANGEROUSLY_OMIT_AUTH: "true"
      MCP_AUTO_OPEN_ENABLED: "false"
      DOCKER_MCP_IN_CONTAINER: "1"
    ports: !override
      - 6274:6274
      - 6277:6277
      - 8085:8085
  configurator:
    environment:
      PROJECT_CLONE_URL: https://github.com/dockersamples/labspace-mcp-gateway
configs:
  project_source_tar:
    content: |
      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

services:
  configurator:
    configs:
      - source: project_source_tar
        target: /etc/labspace-support/content.tar.base64
    environment:
      PROJECT_TAR_PATH: /etc/labspace-support/content.tar.base64

Docker commands

docker compose -f oci://dockersamples/labspace-mcp-gateway:latest up

Use the above command to pull and run the Compose file. Learn more.

Images used

Image


Pulls

10K+

Stars

0

Last Updated

3 months

Image


Pulls

10K+

Stars

0

Last Updated

3 months

Image


Pulls

10K+

Stars

0

Last Updated

3 months

Image


Pulls

10K+

Stars

0

Last Updated

3 months

Image


Pulls

10K+

Stars

0

Last Updated

3 months

Image


Pulls

10K+

Stars

0

Last Updated

8 months