Sign inSign up

philippecharriere494/labspace-with-cagent:latest

Manifest digest

sha256:d2866d6c28e2c513f709f1ba77c6f75afa08ea0ba9180caaf2d40e34287db37c

Last pushed

8 months by philippecharriere494

Type

Compose

Manifest digest

sha256:d2866d6c28e2c513f709f1ba77c6f75afa08ea0ba9180caaf2d40e34287db37c

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.20.3
    use_api_socket: true
    volumes:
      - content:/project
      - docker-creds:/docker-creds
      - labspace-support:/etc/labspace-support
    environment:
      PROJECT_CLONE_URL: ${CONTENT_REPO_URL}

  interface:
    image: dockersamples/labspace-interface:v0.20.3
    ports:
      - "3030:3030"
    volumes:
      - content:/project
      - 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.20.3
    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
      - 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.20.3
    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.20.3
    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.2.2
    volumes:
      - socket-proxy:/tmp/proxy
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      DEBUG_LOGS: "true"
      CONFIG_DATA: |
        mutators:
          # Remap the project directory to the labspace content volume, since the project
          # is running out of a volume.
          - type: mountPath
            from: /home/coder/project
            to: labspace-content

          # If requests to use the Docker Socket are used (such as Testcontainers),
          # use the proxied one to ensure permissions, remappings, etc. are applied
          - type: mountPath
            from: /var/run/docker.sock
            to: labspace-socket-proxy/docker.sock

          # Add labels to all newly created objects
          - type: addLabels
            labels:
              labspace-resource: "true"

          - type: addToNetwork
            networks:
              - labspace
        gates:
          - type: mountSource
            allowedSources:
              - labspace-content
              - labspace-socket-proxy
              - buildx_buildkit_default_state
              - label:labspace-resource=true

        responseFilters:
          # Only return objects with the labels we mutated on
          - type: labelFilter
            objectsToFilter:
              - containers
              - volumes
              - networks
            requiredLabels:
              labspace-resource: "true"
      LISTEN_SOCKET_PATH: /tmp/proxy/docker.sock

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

networks:
  default:
    name: labspace

services:
  configurator:
    environment:
      PROJECT_CLONE_URL: https://github.com/whales-workshops/labspace-with-cagent

  workspace:
   # Override the default image if desired
    image: philippecharriere494/labspace-workspace-golang:1.25.5_0.0.1

    # models:
    #   cook-model:
    #     endpoint_var: MODEL_RUNNER_BASE_URL
    #     model_var: COOK_MODEL


  # workspace:
  #   # Override the default image if desired
  #   # More details - https://github.com/dockersamples/labspace-infra/blob/main/docs/configuration.md#overriding-the-workspace-image
  #   image: dockersamples/labspace-workspace-java

  #   # Override the default ports to publish additional ports you may need
  #   # More details - https://github.com/dockersamples/labspace-infra/blob/main/docs/configuration.md#overriding-the-workspace-ports
  #   ports: !override
  #     - "6274:6274" # Expose the MCP inspector users will launch from inside the Labspace
  #     - "8080:8080" # The port used by the app

  #   # Add other environment variables as needed
  #   environment:
  #     DANGEROUSLY_OMIT_AUTH: "true" # Skip auth for the MCP Inspector

# Add other models or services your Labspace may need

# Add other models or services your Labspace may need

# models:

#   cook-model:
#     model: hf.co/menlo/jan-nano-gguf:q4_k_m

Docker commands

docker compose -f oci://philippecharriere494/labspace-with-cagent:latest up

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

Images used

Image


Pulls

10K+

Stars

0

Last Updated

2 months

Image


Pulls

10K+

Stars

0

Last Updated

2 months

Image


Pulls

10K+

Stars

0

Last Updated

2 months

Image


Pulls

10K+

Stars

0

Last Updated

2 months

Image


Pulls

10K+

Stars

0

Last Updated

2 months

Image


Pulls

10K+

Stars

0

Last Updated

7 months