README.md
Rendering markdown...
version: '3.5'
networks:
db_net:
es_net:
volumes:
cms-shared:
dbdata:
esdata:
services:
db:
image: postgres:13
command: postgres -c 'max_connections=400' -c 'shared_buffers=128MB'
environment:
POSTGRES_USER: dotcmsdbuser
POSTGRES_PASSWORD: password
POSTGRES_DB: dotcms
volumes:
- dbdata:/var/lib/postgresql/data
networks:
- db_net
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.1
environment:
- cluster.name=elastic-cluster
- discovery.type=single-node
- bootstrap.memory_lock=true
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms1G -Xmx1G"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
ports:
- "9200:9200"
- "9600:9600"
volumes:
- esdata:/usr/share/elasticsearch/data
networks:
- es_net
dotcms:
image: dotcms/dotcms:22.10.1
environment:
CMS_JAVA_OPTS: '-Xmx1g '
LANG: 'C.UTF-8'
TZ: 'UTC'
DB_BASE_URL: "jdbc:postgresql://db/dotcms"
DB_USERNAME: 'dotcmsdbuser'
DB_PASSWORD: 'password'
# ES has no auth in this setup:
DOT_ES_ENDPOINTS: 'http://elasticsearch:9200'
DOT_INITIAL_ADMIN_PASSWORD: 'admin'
# === MAIL CONFIG: SMTP + STARTTLS example ===
DOT_MAIL_TRANSPORT_PROTOCOL: smtp
DOT_MAIL_SMTP_HOST: smtp.gmail.com
DOT_MAIL_SMTP_PORT: '587'
DOT_MAIL_SMTP_AUTH: 'true'
DOT_MAIL_SMTP_STARTTLS_ENABLE: 'true'
DOT_MAIL_SMTP_USER: '<smtp_email>'
DOT_MAIL_SMTP_PASSWORD: '<smtp_pass>'
DOT_MAIL_SMTP_SSL_TRUST: "smtp.gmail.com"
# Optional custom starter (you can comment this out if not needed)
CUSTOM_STARTER_URL: "https://repo.dotcms.com/artifactory/libs-release-local/com/dotcms/starter/20220504/starter-20220504.zip"
depends_on:
- db
- elasticsearch
volumes:
- cms-shared:/data/shared
# If you have a license file locally:
# - ./license.zip:/data/shared/assets/license.zip
networks:
- db_net
- es_net
ports:
- "8080:8080"
- "8443:8443"