-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
97 lines (87 loc) · 4.15 KB
/
Copy pathdocker-compose.yml
File metadata and controls
97 lines (87 loc) · 4.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
---
services:
community:
image: ${COMPOSE_IMAGE:-labkeyteamcity/labkey-community:26.3.0}
platform: linux/amd64
container_name: labkey-community
depends_on:
- pg-community
ports:
- ${HOST_PORT:-8443}:8443
volumes:
- ./mounts/files:/labkey/files
# - files:/labkey/files
- ./mounts/modules:/labkey/externalModules
- ./mounts/logs:/labkey/logs
environment:
- TOMCAT_SSL_CIPHERS=${TOMCAT_SSL_CIPHERS:-HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!kRSA:!EDH:!DHE:!DH:!CAMELLIA:!ARIA:!AESCCM:!SHA:!CHACHA20}
- LOG_LEVEL_SPRING_WEB=INFO
- LOG_LEVEL_TOMCAT=INFO
- LOG_LEVEL_DEFAULT=INFO
- LOG_LEVEL_LABKEY_DEFAULT=INFO
- LOG_LEVEL_API_SETTINGS=INFO
- LOG_LEVEL_API_MODULELOADER=INFO
- LOGGER_PATTERN=%-80.80logger{79}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-a"placeholder#'password}
- POSTGRES_HOST=pg-community
- MAX_JVM_RAM_PERCENT=${MAX_JVM_RAM_PERCENT:-75.0}
- JAVA_PRE_JAR_EXTRA=-XX:+UseSerialGC -Xss512k
# edit to match your SMTP server if you wish to use email
- SMTP_HOST=localhost
- SMTP_AUTH=false
- SMTP_PORT=25
- SMTP_USER=foo
- SMTP_PASSWORD=${SMTP_PASSWORD:-}
- SMTP_STARTTLS=false
- LABKEY_SYSTEM_EMAIL_ADDRESS=${SMTP_FROM:-do_not_reply@localhost}
# If these parameters are set use provided; else default to Labkey new installation wizard
# ${VARIABLE:-} will use the supplied VARIABLE or default to null - see docker-compose docs for vairable expansion
- LABKEY_CREATE_INITIAL_USER=${LABKEY_CREATE_INITIAL_USER:-}
- LABKEY_CREATE_INITIAL_USER_APIKEY=${LABKEY_CREATE_INITIAL_USER_APIKEY:-}
- LABKEY_COMPANY_NAME=${LABKEY_COMPANY_NAME:-Labkey Demo}
- LABKEY_SYSTEM_DESCRIPTION=${LABKEY_SYSTEM_DESCRIPTION:-Labkey Demo}
- LABKEY_SYSTEM_SHORT_NAME=${LABKEY_SYSTEM_SHORT_NAME:-Labkey Demo}
# recommended postgres connection settings
- 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}
# optional values - used primarily for labkey cloud deployments
- 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:-default.log4j.xml}
- 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}
pg-community:
image: postgres:${PG_VERSION:-18}
container_name: pg-community
# run postgres through the image entrypoint; logs stay visible so
# version/startup errors (e.g. pg data-dir incompatibility) surface in
# `docker compose logs` instead of the container silently crash-looping.
entrypoint:
- "/bin/bash"
- "-c"
- "docker-entrypoint.sh postgres"
environment:
# we recommend changing this to a strong random password of at least 16 characters
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-a"placeholder#'password}
# pin PGDATA to the pre-18 default so the bind mount below keeps
# persisting data: the postgres:18 image moved its default PGDATA to
# /var/lib/postgresql/18/docker, which would bypass this mount entirely.
- PGDATA=/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
volumes:
# Version-namespaced data directory so Postgres 17, 18, etc. don't collide
- ./mounts/pgdata/${IDENT:-postgres}-${PG_VERSION:-18}-data:/var/lib/postgresql/data
ports:
- ${PG_PORT:-54321}:5432