version: '2.3'
services:
  postgres:
    image: postgres:14
    restart: unless-stopped
    volumes:
     - ./postgresdata:/var/lib/postgresql/data
    environment:
     - POSTGRES_DB=synapse
     - POSTGRES_USER=synapse
     - POSTGRES_PASSWORD=jgzqnGCq3KY28C
     - POSTGRES_INITDB_ARGS=--encoding='UTF8' --lc-collate='C' --lc-ctype='C'
    networks:
      - mynet

  element:
    image: vectorim/element-web:latest
    restart: unless-stopped
    volumes:
      - ./element-config.json:/app/config.json
    ports:
      - "8701:80"
    networks:
      - mynet

  synapse:
    image: matrixdotorg/synapse:latest
    restart: unless-stopped
    ports:
      - "8008:8008"
    volumes:
     - ./synapse:/data
    environment:
     - POSTGRES_DB=synapse
     - POSTGRES_USER=synapse
     - POSTGRES_PASSWORD=jgzqnGCq3KY28C
     - SYNAPSE_SERVER_NAME=matrix.server-nb.de
     - SYNAPSE_REPORT_STATS=no
    networks:
      - mynet

  synapse-admin:
    image: awesometechnologies/synapse-admin:latest
    restart: unless-stopped
    ports:
      - "8703:80"
    environment:
      - REACT_APP_SERVER="https://matrix.server-nb.de"
    networks:
    - mynet

  mautrix-whatsapp:
    container_name: mautrix-whatsapp
    image: dock.mau.dev/mautrix/whatsapp:latest
    restart: unless-stopped
    volumes:
      - ./synapse/mautrix-whatsapp:/data
    networks:
      - mynet
      
  postgres-whatsapp:
      image: postgres:14
      restart: unless-stopped
      volumes:
       - ./synapse/mautrix-whatsapp/postgres:/var/lib/postgresql/data
      environment:
       - POSTGRES_DB=whatsapp
       - POSTGRES_USER=whatsapp
       - POSTGRES_PASSWORD=jgzqnGCq3KY28C
      networks:
      - mynet
      
networks:
  mynet:
    driver: bridge