sha256:78e4b3c133b8ddcbf44247aaa62522d4e450edfe9ba008e37573f838f1ae7de5
Last pushed
4 months by dockersamplesbuildbot
Type
Compose
Manifest digest
sha256:78e4b3c133b8ddcbf44247aaa62522d4e450edfe9ba008e37573f838f1ae7de5
##################################################################################################
# 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.27.1
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.27.1
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.27.1
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.27.1
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.27.1
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-building-images
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-building-images:latest upUse the above command to pull and run the Compose file. Learn more.