sha256:d1ce62cc938bb6ca3203a3fa0080f8a81d4e2364035286e549ac621a3c444300
Last pushed
4 months by dockersamplesbuildbot
Type
Compose
Manifest digest
sha256:d1ce62cc938bb6ca3203a3fa0080f8a81d4e2364035286e549ac621a3c444300
##################################################################################################
# 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:
configurator:
environment:
PROJECT_CLONE_URL: https://github.com/dockersamples/labspace-ai-fundamentals
workspace:
image: dockersamples/labspace-workspace-node
environment:
OPENAI_BASE_URL: http://model-runner.docker.internal/engines/v1
OPENAI_API_KEY: not-required
OPENAI_MODEL: ai/llama3.2:3B-Q4_K_M
visual-chatbot:
image: mikesir87/visual-chatbot
use_api_socket: true
ports:
- 3050:3000
models:
llama3:
endpoint_var: OPENAI_BASE_URL
model_var: OPENAI_MODEL
models:
llama3:
model: ai/llama3.2:3B-Q4_K_M
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 compose -f oci://dockersamples/labspace-ai-fundamentals:latest upUse the above command to pull and run the Compose file. Learn more.
Solid LLaMA 3 update, reliable for coding, chat, and Q&A tasks
Pulls
500K+
Stars
32
Last Updated
over 1 year