Boa tarde pessoal!
Para os admins que se interessaram em implementar o #XMPP mas não conseguem (ou não querem o trabalho adicional, o que também é justo) o servidor ejabberd que eu uso aceita multiplos vhosts, só preciso que vocês apontem os subdmonios (xmpp. chat. proxy. pubsub. e upload.) para o meu IP.
Para quem consegue hospedar vou postar aqui um guia facilitando a implementação do XMPP usando o ejabberd dentro de um container docker, com docker compose.
Se você precisar de ajuda para instalar o docker me avise.
Esse post está escrito com markdown, se estiver dificil de visualizar, pode acessar o link direto dele.
crie um diretorio com o nome de xmpp, ou algo assim e dentro dele ponha o seguinte arquivo:
docker-compose.yml
networks: ejabberd_network: services: ejabberd: build: context: ./ejabberd dockerfile: ./Dockerfile args: METHOD: direct UID: ${UID} GID: ${GID} platforms: - linux/x86_64 # - linux/arm64 container_name: ejabberd depends_on: - ejabberd_postgres env_file: - ./ejabberd.env environment: - CTL_ON_CREATE=register ademir ${HOST} asd - CTL_ON_START=registered_users ${HOST} ; status ports: - "3478:3478/udp" - "5223:5223" - "5222:5222" - "5269:5269" - "5270:5270" - "5280:5280" - "5443:5443" volumes: - ${CERT_DIRECTORY}:/etc/ssl/certificates/:ro - ./ejabberd.yml:/opt/ejabberd/conf/ejabberd.yml:ro - ./database:/opt/ejabberd/database:rw - ./auth:/opt/ejabberd/auth:rw - ./logs:/var/log/ejabberd networks: - ejabberd_network restart: unless-stopped ejabberd_postgres: container_name: ejabberd_postgres image: docker.io/postgres:16-alpine stdin_open: true tty: true env_file: - ./postgres.env volumes: - ./postgres_data:/var/lib/postgresql/data networks: - ejabberd_network restart: unless-stoppedpostgres.env
POSTGRES_USER=ejabberd POSTGRES_PASSWORD=ejabberdpassword POSTGRES_DB=ejabberdAqui você vai colocar seu dominio (eg. mastodon.com.br)
E o diretorio onde os certificados gerados ficam.
Importante que o usuário do servidor ejabberd tenha permissões para acessar os arquivos.
ejabberd.env
UID= GID= HOST= CERT_DIRECTORY=(Continua)
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.