Skip to content

Instantly share code, notes, and snippets.

@fintanmm
Created September 14, 2023 15:34
Show Gist options
  • Save fintanmm/dc7fda156377a0f055db6ed0f0be0dc9 to your computer and use it in GitHub Desktop.
Save fintanmm/dc7fda156377a0f055db6ed0f0be0dc9 to your computer and use it in GitHub Desktop.
EspoCRM docker compose file for local development
version: '3.8'
services:
haproxy:
image: haproxy:latest
container_name: haproxy
ports:
- 443:443
- 80:80
depends_on:
- espocrm
volumes:
- ./haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg
- ./haproxy/certs:/usr/local/etc/haproxy/certs
mysql:
image: mysql:8
container_name: mysql
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: espocrm
MYSQL_USER: espocrm
MYSQL_PASSWORD: database_password
volumes:
- mysql:/var/lib/mysql
- ./mysql:/mnt
restart: always
mysql-backup:
image: databack/mysql-backup
container_name: mysql-backup
depends_on:
- mysql
environment:
DB_SERVER: mysql
DB_DUMP_TARGET: /mnt/backups
DB_NAMES: espocrm
SINGLE_DATABASE: "true"
DB_USER: root
DB_PASS: root_password
DB_DUMP_FREQ: 60
DB_DUMP_BEGIN: 2330
volumes:
- ./mysql:/mnt
restart: always
greenmail:
image: greenmail/standalone:latest
container_name: greenmail
ports:
- "3025:3025" # SMTP port
- "3143:3143" # IMAP port
espocrm:
image: espocrm/espocrm
container_name: espocrm
depends_on:
- mysql
environment:
ESPOCRM_DATABASE_HOST: mysql
ESPOCRM_DATABASE_USER: espocrm
ESPOCRM_DATABASE_PASSWORD: database_password
ESPOCRM_ADMIN_USERNAME: admin
ESPOCRM_ADMIN_PASSWORD: password
ESPOCRM_SITE_URL: "http://localhost:8080"
volumes:
- espocrm:/var/www/html
# - ./espocrm/data:/var/www/html/data
- ./espocrm/custom:/var/www/html/custom
restart: always
espocrm-daemon:
image: espocrm/espocrm
container_name: espocrm-daemon
depends_on:
- mysql
- espocrm
volumes:
- espocrm:/var/www/html
restart: always
entrypoint: docker-daemon.sh
espocrm-websocket:
image: espocrm/espocrm
container_name: espocrm-websocket
depends_on:
- mysql
- espocrm
environment:
ESPOCRM_CONFIG_USE_WEB_SOCKET: "true"
ESPOCRM_CONFIG_WEB_SOCKET_URL: "ws://localhost:8081"
ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN: "tcp://*:7777"
ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN: "tcp://espocrm-websocket:7777"
volumes:
- espocrm:/var/www/html
restart: always
entrypoint: docker-websocket.sh
ports:
- 8081:8080
- 127.0.0.1:7777:7777
volumes:
mysql:
espocrm:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment