Deploying Openfire
Deploy a private Openfire XMPP chat server with a MySQL database on ALPON X5 AI or ALPON X4 through ALPON Cloud: deploy MySQL, build the Openfire image for arm64, push it to the Sixfab Container Registry, deploy it with Host Network, and finish setup in the admin console.
Deploy Openfire on ALPON
Run Openfire, an XMPP server, as a container on your ALPON X5 AI or
ALPON X4 and host private, real-time messaging for your team or community. This guide
deploys a MySQL database and a self-built Openfire image through ALPON Cloud,
both with Host Network enabled, and finishes setup in the admin console on port 9090.
Deploy a arm64v8/mysql:latest container with the Openfire database credentials from the
Applications → Deploy panel on ALPON Cloud, build the Openfire image for
linux/arm64 from the official repository and push it to your Sixfab Container
Registry, then deploy it on your ALPON X5 AI or ALPON X4 with
Host Network enabled. Open http://<DEVICE_IP>:9090 in a browser and
complete the Openfire setup wizard using the MySQL credentials.
Overview
Openfire is an open-source XMPP server that provides messaging and presence; voice, video, and file-transfer behavior depends on the XMPP clients, plugins, and network configuration you choose. Running it as a container on an ALPON X5 AI or ALPON X4 gives you a private chat server on your own network that stays manageable through ALPON Cloud.
Openfire requires a database to store its configuration and user data. Supported databases include MySQL, PostgreSQL, and embedded databases like HSQLDB; for production environments, MySQL or PostgreSQL is recommended. This guide deploys MySQL through ALPON Cloud first, then builds and deploys Openfire, and finally opens the admin console to finish setup. The steps below are identical on ALPON X4 and ALPON X5 AI. For more, see the Openfire documentation.
You need an ALPON X5 AI or ALPON X4 registered on
ALPON Cloud, and Git and Docker
(with buildx) installed on your build machine to build and push the Openfire image. New to
container deployment? Start with
Containerize Apps for ALPON.
-
1
Deploy MySQL
MySQL serves as the backbone for Openfire's data storage, so deploy it first. Open your device in ALPON Cloud, go to the Applications section, and click + Deploy. In the Deploy Container window, use these settings:
Container NameThe application name, e.g.mysql-container.ImageChoose “I would like to use my own container path” and enterarm64v8/mysql:latest. The image is pulled directly from Docker Hub (the device needs internet access at deploy time).EnvironmentClick + Add More and add the three variables in the table below.Enable Host NetworkTurn this on so Openfire can reach the database on the device's network.Key Value MYSQL_ROOT_PASSWORDrootMYSQL_USERopenfireMYSQL_PASSWORDopenfireClick + Deploy to launch MySQL on the device. You will use the
openfireuser and password again in the Openfire setup wizard. -
2
Build and push the Openfire image
Openfire is built from source with the Dockerfile in the official repository. On your build machine, clone the repository, move into it, and build an
arm64image:bash · build the imagegit clone https://github.com/igniterealtime/Openfire.git cd Openfire docker buildx build --platform=linux/arm64 -t openfire:latest .
Build on an arm64 machineIf you attempt to build an
arm64image on anamd64system usingdocker buildx, you may encounter cross-platform compatibility issues specific to this application. To avoid them, build the Docker image on anarm64device.Then log in to Sixfab Registry, click + Add Container, and follow the prompts to push the image.
Pushing images to the Sixfab Container RegistryFor the full walkthrough of tagging and pushing an image, see Update Containers from the Sixfab Container Registry.
-
3
Deploy Openfire on ALPON
With the database running, go back to the Applications section of your device on ALPON Cloud and click + Deploy. In the Deploy Container window, use these settings:
Container NameThe application name, e.g.openfire.ImageThe Openfire image you pushed to the Sixfab Container Registry in step 2.Enable Host NetworkTurn this on so the admin console and XMPP ports are reachable on the device's IP and Openfire can connect to MySQL.Click + Deploy to start the Openfire container.
-
4
Configure Openfire in the admin console
Once the deployment finishes, find the device's local IP address under Asset Details → Network tab → Interface Monitoring → Details, then open the admin console in a browser:
browser · Openfire admin consolehttp://<DEVICE_IP>:9090The Openfire setup wizard guides you through:
- connecting to your MySQL database (use the
openfirecredentials from step 1), - setting up an admin account, and
- configuring basic server settings.
If the console doesn't load, confirm both containers are running in the Applications section and that Host Network was enabled on the Openfire container in step 3.
- connecting to your MySQL database (use the
- The MySQL and
openfirecontainers both show as running in the Applications section. - The admin console loads at
http://<DEVICE_IP>:9090and the setup wizard connects to MySQL. - You can sign in to the admin console with the admin account you created.
Openfire is now running on the ALPON as a private chat server. Point your XMPP clients at the device's IP address and see the Openfire documentation for plugins and further configuration.
Production image policy: Replace floating
:latestreferences with a reviewed immutable tag or digest, then record the selected version for rollback.
Updated 6 days ago
