version: '3.6' services: theia: build: args: - DOCKER_BUILD_DIR=docker/theia - GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME} - GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL} context: ../.. dockerfile: docker/theia/Dockerfile environment: - ENV=${ENV} - MONOREPO_DIR=${MONOREPO_DIR} - RC_01_CUSTOM_PS1=${RC_CUSTOM_PS1} - RC_02_CUSTOM_PROMPT=${RC_CUSTOM_PROMPT} - RC_03_SSH_AGENT=${RC_SSH_AGENT} - RC_04_ATTACH_TMUX=${RC_ATTACH_TMUX} - RC_05_ATTACH_SCREEN=${RC_ATTACH_SCREEN} - SHELL=${DOCKER_SHELL} - SSH_AUTH_SOCK=/tmp/ssh-agent/socket - WORKSPACE_DIR=/Sources/${MONOREPO} image: ${DOCKER_REPOSITORY}/theia:${DOCKER_IMAGE_TAG} labels: - SERVICE_3000_CHECK_TCP=true - SERVICE_3000_NAME=${COMPOSE_SERVICE_NAME}-theia:3000 - SERVICE_3000_TAGS=${THEIA_SERVICE_3000_TAGS} networks: - private - public restart: always volumes: - monorepo:/Sources/${MONOREPO}:cached - ssh-agent:/tmp/ssh-agent:ro - /var/run/docker.sock:/var/run/docker.sock volumes: monorepo: driver: local driver_opts: type: none device: ${MONOREPO_DIR} o: bind ssh-agent: external: name: ${DOCKER_VOLUME_SSH} networks: private: external: true name: ${DOCKER_NETWORK_PRIVATE} public: external: true name: ${DOCKER_NETWORK_PUBLIC}