XMPP local server for company to notify workers (is it possible?)

I’d like to create XMPP for my cooworkers just to share short msg between us.

I have clean server I can use with debian on it.

My question is, is that possible to create something like this with database on my own server, working on localhost (no domain). Communication will be on android phones without SIM cards (just WI-FI).

I’m willing to spend some time on it but I need to know if thats possible and if it is, where to start.

Thanks in advance

It is possible. But you would need some local domain for that server and DNS entries. You can probably work with localhost for desktop client, though not advisable. But mobile clients are usually more strict or provide less options for manual config.

can u tell me more about local domain and DNS entries? How should I set it up ?

This is the guide i wrote a few years ago. Not exactly your case, but in general it still applies https://www.wroot.lt/wp/technology/very-basic-openfire-spark-guide-en/
You can skip the Windows part.

Also, with mobile clients the certificate part might not work. Unless a client has an option to accept not trusted certificate. But some mobile clients won’t do that. And if the server is internal, there is no external publicly trusted CA to get certificates from.

In our company we have used Openfire on Windows for about 5 years without problems, locally with Spark as a client, but it also works very well with Conversations on Android (https://f-droid.org/en/packages/eu.siacs.conversations/). You must configure Server Name and Host Name with the domain that will take the accounts, although it also works with the server IP address instead of the domain.
I can use Conversations locally and configure the account as “name@openfiredomain.com” and the host with the server IP and port 5222. Also works with self signed certificate.

You can definitely use an XMPP server like ejabberd to implement your own push notification service on Android. You need to have an application that stays constantly connected and will use the local Android API to display notification on the mobile when receiving a message.

The most common two XMPP servers are ejabberd, written in Erlang, and Prosody which is written in Lua. I chose Prosody because back when I started, it was easier to configure than ejabberd. … You’ll need to install Tor on the server and edit /etc/tor/torrc as shown below. Restart the Tor service and look up the