Browse Source

fixed/reworked setting hostname/ip config

root 2 years ago
parent
commit
8770b6a44b

+ 0 - 1
.gitignore

@@ -3,4 +3,3 @@ data/backup/
 data/biboumi/
 data/database/
 data/upload/
-data/conf/ejabberd.conf

data/conf/conf.d/10-host.yml → data/conf.d/10-host.yml


data/conf/conf.d/15-log.yml → data/conf.d/15-log.yml


data/conf/conf.d/16-shaper.yml → data/conf.d/16-shaper.yml


data/conf/conf.d/30-tls.yml → data/conf.d/30-tls.yml


data/conf/conf.d/31-auth.yml → data/conf.d/31-auth.yml


data/conf/conf.d/32-access.yml → data/conf.d/32-access.yml


data/conf/conf.d/41-s2s.yml → data/conf.d/41-s2s.yml


data/conf/conf.d/42-c2s.yml → data/conf.d/42-c2s.yml


data/conf/conf.d/43-http.yml → data/conf.d/43-http.yml


data/conf/conf.d/50-stun-turn.yml → data/conf.d/50-stun-turn.yml


data/conf/conf.d/60-modules.yml → data/conf.d/60-modules.yml


+ 2 - 5
data/conf/ejabberd.yml.template

@@ -6,11 +6,8 @@
 ###       https://docs.ejabberd.im/admin/configuration
 ###
 
-define_macro:
-  HOSTNAME: $HOSTNAME
-  IP_ADDRESS: $IP_ADDRESS
-
 include_config_file:
+  - /home/ejabberd/env.yml
   - /home/ejabberd/conf/conf.d/10-host.yml
   - /home/ejabberd/conf/conf.d/15-log.yml
   - /home/ejabberd/conf/conf.d/16-shaper.yml
@@ -21,4 +18,4 @@ include_config_file:
   - /home/ejabberd/conf/conf.d/42-c2s.yml
   - /home/ejabberd/conf/conf.d/43-http.yml
   - /home/ejabberd/conf/conf.d/50-stun-turn.yml
-  - /home/ejabberd/conf/conf.d/60-modules.yml
+  - /home/ejabberd/conf/conf.d/60-modules.yml

+ 0 - 7
data/conf/entrypoint.sh

@@ -1,7 +0,0 @@
-# If there is no ejabberd.yml copy it from the template
-# and set hostname and IP as per the variables set in .env
-[ ! -f ~/conf/ejabberd.yml ] \
-  && envsubst < ~/conf/ejabberd.yml.template > ~/conf/ejabberd.yml
-
-# Run ejabberdctl as done in the original entrypoint from the dockerfile
-/home/ejabberd/bin/ejabberdctl "$@"

+ 7 - 3
docker-compose.yml

@@ -15,18 +15,22 @@ services:
       - 5443:5443 #http-upload#
       - 3478:3478/udp #stun/turn
       - 5349:5349/tcp #stuns/turns
-#      - 80:8080/tcp #acme
+      - 7777:7777 #proxy65
 
-    entrypoint: /home/ejabberd/conf/entrypoint.sh
+    entrypoint: /home/ejabberd/entrypoint.sh
+    command: foreground
     
     volumes:
-      - ./data/conf/:/home/ejabberd/conf/
+      - ./entrypoint.sh:/home/ejabberd/entrypoint.sh:ro
+      - ./data/conf/ejabberd.yml:/home/ejabberd/conf/ejabberd.yml:ro
+      - ./data/conf.d/:/home/ejabberd/conf/conf.d/:ro
       - ./data/database/:/home/ejabberd/database/
       - ./data/backup/:/home/ejabberd/backup/
       - ./data/upload/:/home/ejabberd/upload/
       - /opt/docker/reverse-proxy/data/certs/${HOSTNAME}:/etc/ssl/ejabberd:ro
 
     environment:
+      IP_ADDRESS: ${IP_ADDRESS}
       VIRTUAL_HOST: >
                     ${HOSTNAME},
                     conference.${HOSTNAME},

+ 9 - 0
entrypoint.sh

@@ -0,0 +1,9 @@
+#!/bin/sh
+
+echo "define_macro:" > ~/env.yml
+echo "  HOSTNAME: $HOSTNAME" >> ~/env.yml
+echo "  IP_ADDRESS: $IP_ADDRESS" >> ~/env.yml
+cat ~/env.yml 
+
+# Run ejabberdctl as done in the original entrypoint from the dockerfile
+/home/ejabberd/bin/ejabberdctl "$@"