docker-compose.yml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. version: '3'
  2. services:
  3. ejabberd:
  4. image: ejabberd/ecs:21.12
  5. container_name: ejabberd
  6. hostname: ${HOSTNAME}
  7. mem_limit: 512m
  8. restart: on-failure:3
  9. ports:
  10. - 5222:5222 #c2s stattls#
  11. - 5223:5223 #c2s ssl#
  12. - 5269:5269 #s2s#
  13. - 5280:5280 #bosh + admin#
  14. - 5443:5443 #http-upload#
  15. - 3478:3478/udp #stun/turn
  16. - 5349:5349/tcp #stuns/turns
  17. # - 80:8080/tcp #acme
  18. volumes:
  19. - ./data/conf/ejabberd.yml:/home/ejabberd/conf/ejabberd.yml:ro
  20. - ./data/conf/conf.d:/home/ejabberd/conf/conf.d:ro
  21. - ./data/database/:/home/ejabberd/database/
  22. - ./data/backup/:/home/ejabberd/backup/
  23. - ./data/upload/:/home/ejabberd/upload/
  24. - ./data/cron/backup.sh:/etc/periodic/daily/backup.sh:ro
  25. - /opt/docker/reverse-proxy/data/certs/${HOSTNAME}:/etc/ssl/ejabberd:ro
  26. - ./data/www/:/var/www/
  27. environment:
  28. VIRTUAL_HOST: >
  29. ${HOSTNAME},
  30. conference.${HOSTNAME},
  31. pubsub.${HOSTNAME},
  32. upload.${HOSTNAME},
  33. irc.${HOSTNAME},
  34. proxy.${HOSTNAME},
  35. push.${HOSTNAME}
  36. LETSENCRYPT_HOST: >
  37. ${HOSTNAME},
  38. conference.${HOSTNAME},
  39. pubsub.${HOSTNAME},
  40. upload.${HOSTNAME},
  41. irc.${HOSTNAME},
  42. proxy.${HOSTNAME},
  43. push.${HOSTNAME}
  44. LETSENCRYPT_EMAIL: webmaster@${HOSTNAME}
  45. networks:
  46. - reverse-proxy_default
  47. networks:
  48. reverse-proxy_default:
  49. external: true