version: "3.3"

services:

  labkey-db:
#    image: postgres:14.2
#
    build:
            context: ./db
            args:
                    USER_ID: ${USER_ID}
                    GROUP_ID: ${GROUP_ID}
    volumes: 
       - ${POSTGRES_DIR}:/var/lib/postgresql/data
    environment:
       - POSTGRES_USER=postgres
       - POSTGRES_PASSWORD=$PGPASS
       - POSTGRES_DB=labkey
    ports:
       - 5432

  labkey-web:
    depends_on:
        - labkey-db
    #image: tomcat:9-jdk17-temurin
    #

    build: 
            context: ./web
            args:
                    USER_ID: ${USER_ID}
                    GROUP_ID: ${GROUP_ID}
    volumes:
      - ${LABKEY_DIR}/labkeywebapp:/usr/local/labkey/labkeywebapp
      - ${LABKEY_DIR}/modules:/usr/local/labkey/modules
      - ${LABKEY_DIR}/pipeline-lib:/usr/local/labkey/pipeline-lib
      - ${LABKEY_DIR}/externalModules:/usr/local/labkey/externalModules
      - ${LABKEY_DIR}/files:/usr/local/labkey/files
      - ${TOMCAT_DIR}/bin/setenv.sh:/usr/local/tomcat/bin/setenv.sh
      - ${TOMCAT_DIR}/conf/server.xml:/usr/local/tomcat/conf/server.xml
      - ${TOMCAT_DIR}/conf/key.pem:/usr/local/tomcat/conf/key.pem
      - ${TOMCAT_DIR}/conf/cert.pem:/usr/local/tomcat/conf/cert.pem
      - ${TOMCAT_DIR}/conf/ca-chain.pem:/usr/local/tomcat/conf/ca-chain.pem
      - ${LABKEY_DIR}/tomcat-lib/labkeyBootstrap.jar:/usr/local/tomcat/lib/labkeyBootstrap.jar
      - ${LABKEY_DIR}/tomcat-lib/javax.activation.jar:/usr/local/tomcat/lib/javax.activation.jar
      - ${LABKEY_DIR}/tomcat-lib/mail.jar:/usr/local/tomcat/lib/mail.jar
      - ${LABKEY_DIR}/labkey.xml:/usr/local/tomcat/conf/Catalina/localhost/labkey.xml  
    ports:
      - 8081:8080
      - 8444:8443
    

networks:
   default:
     external:
        name: labkey_network