version: "3.4"
services:
  csharp: #docker run -it -v ${PWD}:/work -w /work -p 5000:5000 aimvector/csharp:1.0.0 /bin/sh
    container_name: csharp
    image: aimvector/csharp:1.0.0
    build:
      context: ./c#
      target: debug
    volumes:
    - ./c#/src/:/work/
    ports:
      - 5000:5000
  golang: #docker run -it -v ${PWD}:/go/src/work -v ${PWD}/golang/configs/:/configs -v ${PWD}/golang/secrets/:/secrets  -p 5001:5000 -p 2345:2345 --security-opt "seccomp:unconfined" aimvector/golang:1.0.0
    container_name: golang
    image: aimvector/golang:1.0.0
    build: 
      context: ./golang
      target: prod
    volumes:
    - ./golang/configs:/configs/
    - ./golang/secrets:/secrets/
    - ./golang/src/:/go/src/work/
    ports:
      - 5001:5000
      - 2345:2345
    security_opt:
      - "seccomp:unconfined"
  python: #docker run -it -v ${PWD}:/work -w /work -p 5003:5000 aimvector/python:1.0.0 /bin/sh
    container_name: python
    image: aimvector/python:1.0.0
    build:
      context: ./python
      target: debug
    #working_dir: /work      #comment out for build.target:prod
    #entrypoint: /bin/sh     #comment out for build.target:prod
    #stdin_open: true        #comment out for build.target:prod
    #tty: true               #comment out for build.target:prod
    volumes:
    - ./python/src/:/work
    ports:
      - 5003:5000
      - 5678:5678
  nodejs: #docker run -it -v ${PWD}:/work -w /work -p 5002:5000 aimvector/nodejs:1.0.0 /bin/sh
    container_name: nodejs
    image: aimvector/nodejs:1.0.0
    build:
      context: ./nodejs
      target: debug
    #working_dir: /work      #comment out for build.target:prod
    #entrypoint: /bin/sh     #comment out for build.target:prod
    #stdin_open: true        #comment out for build.target:prod
    #tty: true               #comment out for build.target:prod
    volumes:
    - ./nodejs/src/:/work/src/
    ports:
      - 5002:5000
      - 9229:9229            #debug port
  spring-java: #docker run -it -v ${PWD}:/work -w /work -p 5002:5000 aimvector/nodejs:1.0.0 /bin/sh
    container_name: spring-java
    image: aimvector/spring-java:1.0.0
    build:
      context: ./springboot/java/
      target: debug
    working_dir: /work/src/      #comment out for build.target:prod
    entrypoint: /bin/sh     #comment out for build.target:prod
    stdin_open: true        #comment out for build.target:prod
    tty: true               #comment out for build.target:prod
    volumes:
    - ./springboot/java/:/work/src/
    ports:
      - 9999:8080
