processone / docker-ejabberd

Set of ejabberd Docker images
95 stars 77 forks source link

Ejabberd + Postgres in Docker-compose #108

Closed ghost closed 9 months ago

ghost commented 9 months ago

ejabberd.yml

sql_type: pgsql
sql_server: 127.0.0.1
sql_port: 5432
sql_database: ejabberd
sql_username: ejabberd
sql_password: password
auth_method: sql
default_db: sql

.env

POSTGRES_INITDB_ARGS=-A scram-sha-256
POSTGRES_DB=ejabberd
POSTGRES_USER=ejabberd
POSTGRES_PASSWORD=password

docker-compose.yml

version: '3.9'

services:
  postgres:
    image: postgres
    container_name: postgres
    restart: always
    environment:
      POSTGRES_INITDB_ARGS: ${POSTGRES_INITDB_ARGS}
      POSTGRES_DB: ${POSTGRES_DB}
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - postgres:/var/lib/postgresql/data
      - ./pg.sql:/docker-entrypoint-initdb.d/pg.sql
    networks:
      - underground

  ejabberd:
    image: ejabberd/ecs
    container_name: ejabberd
    ports:
      - 1883:1883
      - 3478:3478
      - 5222:5222
      - 5223:5223
      - 5269:5269
      - 5280:5280
      - 5349:5349
      - 5443:5443
    volumes:
      - ejabberd:/home/ejabberd
      - ./ejabberd.pem:/home/ejabberd/conf/server.pem
      - ./ejabberd.yml:/home/ejabberd/conf/ejabberd.yml
    networks:
      - underground
    depends_on:
      - postgres

volumes:
  postgres:
  ejabberd:

networks:
  underground:

Log after docker-compose up:

ejabberd    | 2024-01-12 16:37:18.801601+00:00 [info] Loading configuration from /home/ejabberd/conf/ejabberd.yml
ejabberd    | 2024-01-12 16:37:19.523302+00:00 [info] Configuration loaded successfully
ejabberd    | 2024-01-12 16:37:19.732681+00:00 [info] Got no NOTIFY_SOCKET, notifications disabled
ejabberd    | 2024-01-12 16:37:19.757266+00:00 [info] Building language translation cache
ejabberd    | 2024-01-12 16:37:20.577580+00:00 [info] Loading modules for underground.pm
ejabberd    | 2024-01-12 16:37:20.816966+00:00 [info] Going to offer STUN/TURN service: 89.147.108.164:3478 (udp)
ejabberd    | 2024-01-12 16:37:20.924633+00:00 [warning] pgsql connection failed:
ejabberd    | ** Reason: {init,{error,econnrefused}}
ejabberd    | ** Retry after: 5 seconds
ejabberd    | 2024-01-12 16:37:20.924979+00:00 [warning] pgsql connection failed:
ejabberd    | ** Reason: {init,{error,econnrefused}}
ejabberd    | ** Retry after: 5 seconds
ejabberd    | 2024-01-12 16:37:20.925136+00:00 [warning] pgsql connection failed:
ejabberd    | ** Reason: {init,{error,econnrefused}}
ejabberd    | ** Retry after: 5 seconds
ejabberd    | 2024-01-12 16:37:20.925255+00:00 [warning] pgsql connection failed:
ejabberd    | ** Reason: {init,{error,econnrefused}}
ejabberd    | ** Retry after: 5 seconds
ejabberd    | 2024-01-12 16:37:20.925366+00:00 [warning] pgsql connection failed:
ejabberd    | ** Reason: {init,{error,econnrefused}}
ejabberd    | ** Retry after: 5 seconds
ejabberd    | 2024-01-12 16:37:20.925489+00:00 [warning] pgsql connection failed:
ejabberd    | ** Reason: {init,{error,econnrefused}}
ejabberd    | ** Retry after: 5 seconds
ejabberd    | 2024-01-12 16:37:20.925600+00:00 [warning] pgsql connection failed:
ejabberd    | ** Reason: {init,{error,econnrefused}}
ejabberd    | ** Retry after: 5 seconds
ejabberd    | 2024-01-12 16:37:20.925717+00:00 [warning] pgsql connection failed:
ejabberd    | ** Reason: {init,{error,econnrefused}}
ejabberd    | ** Retry after: 5 seconds
ejabberd    | 2024-01-12 16:37:20.925849+00:00 [warning] pgsql connection failed:
ejabberd    | ** Reason: {init,{error,econnrefused}}
ejabberd    | ** Retry after: 5 seconds
ejabberd    | 2024-01-12 16:37:20.925945+00:00 [warning] pgsql connection failed:
ejabberd    | ** Reason: {init,{error,econnrefused}}
ejabberd    | ** Retry after: 5 seconds
ejabberd    | 2024-01-12 16:37:20.924822+00:00 [error] CRASH REPORT:
ejabberd    |   crasher:
ejabberd    |     initial call: pgsql_proto:init/1
ejabberd    |     pid: <0.574.0>
ejabberd    |     registered_name: []
ejabberd    |     exception exit: {init,{error,econnrefused}}
ejabberd    |       in function  gen_server:init_it/6 (gen_server.erl, line 835)
ejabberd    |     ancestors: ['ejabberd_sql_underground.pm_3',
ejabberd    |                   'ejabberd_sql_sup_underground.pm',ejabberd_db_sup,
ejabberd    |                   ejabberd_sup,<0.175.0>]
ejabberd    |     message_queue_len: 0
ejabberd    |     messages: []
ejabberd    |     links: []
ejabberd    |     dictionary: []
ejabberd    |     trap_exit: false
ejabberd    |     status: running
ejabberd    |     heap_size: 376
ejabberd    |     stack_size: 28
ejabberd    |     reductions: 976
ejabberd    |   neighbours:
ejabberd    | 
ejabberd    | 2024-01-12 16:37:20.924905+00:00 [error] CRASH REPORT:
ejabberd    |   crasher:
ejabberd    |     initial call: pgsql_proto:init/1
ejabberd    |     pid: <0.573.0>
ejabberd    |     registered_name: []
ejabberd    |     exception exit: {init,{error,econnrefused}}
ejabberd    |       in function  gen_server:init_it/6 (gen_server.erl, line 835)
ejabberd    |     ancestors: ['ejabberd_sql_underground.pm_2',
ejabberd    |                   'ejabberd_sql_sup_underground.pm',ejabberd_db_sup,
ejabberd    |                   ejabberd_sup,<0.175.0>]
ejabberd    |     message_queue_len: 0
ejabberd    |     messages: []
ejabberd    |     links: []
ejabberd    |     dictionary: []
ejabberd    |     trap_exit: false
ejabberd    |     status: running
ejabberd    |     heap_size: 376
ejabberd    |     stack_size: 28
ejabberd    |     reductions: 976
ejabberd    |   neighbours:
marc0s commented 9 months ago

Your PostgreSQL host in that environment is not 127.0.0.1 when specified from ejabberd but postgres.

ghost commented 9 months ago

Thanks! sql_server: postgres works.