# Easy!Appointments docker-compose.yaml example https://github.com/alextselegidis/easyappointments ``` services: easyappointments: image: alextselegidis/easyappointments:${APP_VERSION} restart: always ports: - ${APP_PORT}:80 environment: - BASE_URL=${SITE_URL} - DEBUG_MODE=FALSE - DB_HOST=mysql - DB_NAME=easyappointments - DB_USERNAME=${DB_USER} - DB_PASSWORD=${DB_PASS} - MAIL_PROTOCOL=mail - MAIL_SMTP_DEBUG=0 - MAIL_SMTP_AUTH=0 - MAIL_SMTP_HOST=${EMAIL_SMTP_HOST} - MAIL_SMTP_USER=${EMAIL_SMTP_USER} - MAIL_SMTP_PASS=${EMAIL_SMTP_PASS} - MAIL_SMTP_CRYPTO=tls - MAIL_SMTP_PORT=${EMAIL_SMTP_PORT} - MAIL_FROM_ADDRESS=${EMAIL_SMTP_FROM} - MAIL_FROM_NAME=${EMAIL_SMTP_FROM} - MAIL_REPLY_TO_ADDRESS=${EMAIL_SMTP_FROM} mysql: image: mysql:8.4 restart: always command: [ '--mysql-native-password=ON', ] environment: - MYSQL_ROOT_PASSWORD=${DB_PASS} - MYSQL_DATABASE=easyappointments - MYSQL_USER=${DB_USER} - MYSQL_PASSWORD=${DB_PASS} volumes: - mysql:/var/lib/mysql db-backup: image: tiredofit/db-backup volumes: - db_backup:/backup environment: - CONTAINER_ENABLE_MONITORING=false - DB_HOST=mysql - DB_TYPE=mariadb - DB_NAME=easyappointments - DB_USER=${DB_USER} - DB_PASS=${DB_PASS} - DEFAULT_DB_DUMP_FREQ=1440 - DEFAULT_DB_DUMP_BEGIN=0000 - DEFAULT_COMPRESSION=BZ - DB_CLEANUP_TIME=8640 - MD5=TRUE - DEFAULT_BACKUP_BEGIN=+1 restart: always volumes: mysql: db_backup: ```