Compose-Examples/examples/atlassian-jira-confluence/docker-compose.yml
2024-11-13 15:26:39 +01:00

127 lines
4.8 KiB
YAML

services:
confluence:
image: atlassian/confluence:9.0.3
container_name: confluence
hostname: confluence
restart: unless-stopped
environment:
# detailed debug messages during the container initialization
- VERBOSE_LOGS=false
# maximum number of days for access logs to be retained before being deleted
- ATL_TOMCAT_ACCESS_LOGS_MAXDAYS=360
# The maximum time a user can remain logged-in with remember me feature (in seconds; default 2 weeks).
- ATL_AUTOLOGIN_COOKIE_AGE=1209600
# The minimum heap size of the JVM
- JVM_MINIMUM_MEMORY=1024m
# maximum heap size of the JVM
- JVM_MAXIMUM_MEMORY=1024m
# reserved code cache size of the JVM
- JVM_RESERVED_CODE_CACHE_SIZE=256m
# reverse proxy setup
- ATL_PROXY_NAME=confluence.example.com
- ATL_PROXY_PORT=443
- ATL_TOMCAT_PORT=8090
- ATL_TOMCAT_SCHEME=https
- ATL_TOMCAT_SECURE=false
# list of trusted reverse proxy ips separated by a pipe character
- ATL_TOMCAT_TRUSTEDPROXIES=192.168.0.0/24|10.0.0.0/8|172.16.0.0/16
ports:
- 8090:8090/tcp
expose:
- 8090 # http web
- 8091 # api port for jira communication
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/confluence/data:/var/atlassian/application-data/confluence
networks:
- atlassian-network
#labels:
# - traefik.enable=true
# - traefik.docker.network=atlassian-network
# - traefik.http.routers.confluence.rule=Host(`confluence.example.com`)
# - traefik.http.services.confluence.loadbalancer.server.port=8080
# # Optional part for file upload max sizes
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000
# # Optional part for traefik middlewares
# - traefik.http.routers.confluence.middlewares=local-ipwhitelist@file
jira:
image: atlassian/jira-core:9.9.2
container_name: jira
hostname: jira
restart: unless-stopped
environment:
# detailed debug messages during the container initialization
- VERBOSE_LOGS=false
# maximum number of days for access logs to be retained before being deleted
- ATL_TOMCAT_ACCESS_LOGS_MAXDAYS=360
# The maximum time a user can remain logged-in with remember me feature (in seconds; default 2 weeks)
- ATL_AUTOLOGIN_COOKIE_AGE=1209600
# The minimum heap size of the JVM
- JVM_MINIMUM_MEMORY=1024m
# maximum heap size of the JVM
- JVM_MAXIMUM_MEMORY=1024m
# reserved code cache size of the JVM
- JVM_RESERVED_CODE_CACHE_SIZE=256m
# reverse proxy setup
- ATL_PROXY_NAME=jira.example.com
- ATL_PROXY_PORT=443
- ATL_TOMCAT_PORT=8090
- ATL_TOMCAT_SCHEME=https
- ATL_TOMCAT_SECURE=false
# list of trusted reverse proxy ips separated by a pipe character
- ATL_TOMCAT_TRUSTEDPROXIES=192.168.0.0/24|10.0.0.0/8|172.16.0.0/16
depends_on:
- postgresql
ports:
- 8080:8080/tcp
expose:
- 8080 # http web
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/jira/data:/var/atlassian/application-data/jira
networks:
- atlassian-network
- internal-db-network
#labels:
# - traefik.enable=true
# - traefik.docker.network=atlassian-network
# - traefik.http.routers.jira.rule=Host(`jira.example.com`)
# - traefik.http.services.jira.loadbalancer.server.port=8080
# # Optional part for file upload max sizes
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000
# # Optional part for traefik middlewares
# - traefik.http.routers.jira.middlewares=local-ipwhitelist@file
postgresql:
image: docker.io/library/postgres:16-alpine
container_name: jira-psql
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
expose:
- 5432 # psql service
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/jira/psql:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${PG_PASS:-jira}
POSTGRES_USER: ${PG_USER:-jira}
POSTGRES_DB: ${PG_DB:-jira}
networks:
- internal-db-network
networks:
atlassian-network:
external: true
internal-db-network:
internal: true