diff --git a/docker-compose.yml b/docker-compose.yml index d131f3a..8d79f69 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -603,6 +603,94 @@ services: ports: - ${PG_PORT:-54321}:5432 + lksm_starter: + image: ${COMPOSE_IMAGE:-labkey/community} + container_name: lksm_starter + depends_on: + - pg-lksm_starter + ports: + - ${HOST_PORT:-8443}:8443 + - 7199:7199 + volumes: + - ./mounts/logs:/labkey/logs + environment: + - LOG_LEVEL_SPRING_WEB=INFO + - LOG_LEVEL_TOMCAT=DEBUG + - LOG_LEVEL_DEFAULT=DEBUG + - LOG_LEVEL_LABKEY_DEFAULT=DEBUG + - LOG_LEVEL_API_SETTINGS=DEBUG + - LOG_LEVEL_API_MODULELOADER=DEBUG + + - LOGGER_PATTERN=%-80.80logger{79} + + - POSTGRES_HOST=pg-lksm_starter + + - MAX_JVM_RAM_PERCENT=${MAX_JVM_RAM_PERCENT:-75.0} + - JAVA_PRE_JAR_EXTRA=-XX:+UseSerialGC -Xss512k + + - SMTP_HOST=${SMTP_HOST} + - SMTP_AUTH=true + - SMTP_PORT=587 + - SMTP_STARTTLS=true + + - LABKEY_SYSTEM_EMAIL_ADDRESS=${SMTP_FROM} + + - LABKEY_SSM_PREFIX=${LABKEY_SSM_PREFIX} + - LABKEY_VPC_SSM_PREFIX=${LABKEY_VPC_SSM_PREFIX} + - AWS_REGION=${AWS_REGION} + - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} + - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} + - AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN} + # non-AWS: set these to supply credentials directly instead of via SSM + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-localdevpassword} + - POSTGRES_USER=${POSTGRES_USER:-postgres} + - LABKEY_EK=${LABKEY_EK:-} + - SMTP_USER=${SMTP_USER:-} + - SMTP_PASSWORD=${SMTP_PASSWORD:-} + + # If these parameters are set or set to null use provided; else set values to create initial user + - LABKEY_CREATE_INITIAL_USER=${LABKEY_CREATE_INITIAL_USER-1} + - LABKEY_CREATE_INITIAL_USER_APIKEY=${LABKEY_CREATE_INITIAL_USER_APIKEY-1} + + - POSTGRES_MAX_TOTAL_CONNECTIONS=${POSTGRES_MAX_TOTAL_CONNECTIONS:-50} + - POSTGRES_MAX_IDLE_CONNECTIONS=${POSTGRES_MAX_IDLE_CONNECTIONS:-10} + - POSTGRES_MAX_WAIT_MILLIS=${POSTGRES_MAX_WAIT_MILLIS:-120000} + - POSTGRES_ACCESS_UNDERLYING_CONNECTIONS=${POSTGRES_ACCESS_UNDERLYING_CONNECTIONS:-true} + - POSTGRES_VALIDATION_QUERY=${POSTGRES_VALIDATION_QUERY:-SELECT 1} + + - LABKEY_CUSTOM_PROPERTIES_S3_URI=${LABKEY_CUSTOM_PROPERTIES_S3_URI} + - LABKEY_OPTIONAL_APP_PROPERTIES_S3_URI=${LABKEY_OPTIONAL_APP_PROPERTIES_S3_URI} + - LABKEY_DEFAULT_PROPERTIES_S3_URI=${LABKEY_DEFAULT_PROPERTIES_S3_URI} + - LOG4J_CONFIG_FILE=${LOG4J_CONFIG_FILE-log4j2.xml} + - LOG4J_CONFIG_OVERRIDE=${LOG4J_CONFIG_OVERRIDE} + - JSON_OUTPUT=${JSON_OUTPUT-false} + - DD_COLLECT_APM=${DD_COLLECT_APM-false} + - SLEEP=${SLEEP:-0} + - PURGE_HEAP_AND_ERROR_LOGS_OLDER_THAN_DAYS=${PURGE_HEAP_AND_ERROR_LOGS_OLDER_THAN_DAYS:-90} + - PURGE_MTNC_LOGS_OLDER_THAN_DAYS=${PURGE_MTNC_LOGS_OLDER_THAN_DAYS:-90} + - LABKEY_EXTERNAL_MODULES=${LABKEY_EXTERNAL_MODULES:-/labkey/files/externalModules} + + pg-lksm_starter: + image: postgres:${PG_VERSION:-18} + entrypoint: + - "/bin/bash" + - "-c" + - "docker-entrypoint.sh postgres" + environment: + - POSTGRES_USER=${POSTGRES_USER:-postgres} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-localdevpassword} + - PGDATA=/var/lib/postgresql/data + healthcheck: + test: ["CMD", "pg_isready", "-U", "postgres"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + volumes: + - ./pgdata/${IDENT:-postgres}-${PG_VERSION:-18}-data:/var/lib/postgresql/data + ports: + - ${PG_PORT:-54321}:5432 + lims_enterprise: image: ${COMPOSE_IMAGE:-labkey/community} container_name: lims_enterprise