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.

ALPON X5 AI ALPON X4 Openfire Messaging
ALPON · Tutorial · Containers · Messaging
How do I deploy Openfire on ALPON?

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.

Before you start

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. 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 Name The application name, e.g. mysql-container.
    Image Choose “I would like to use my own container path” and enter arm64v8/mysql:latest. The image is pulled directly from Docker Hub (the device needs internet access at deploy time).
    Environment Click + Add More and add the three variables in the table below.
    Enable Host Network Turn this on so Openfire can reach the database on the device's network.
    KeyValue
    MYSQL_ROOT_PASSWORDroot
    MYSQL_USERopenfire
    MYSQL_PASSWORDopenfire

    Click + Deploy to launch MySQL on the device. You will use the openfire user and password again in the Openfire setup wizard.

  2. 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 arm64 image:

    bash · build the image
    git clone https://github.com/igniterealtime/Openfire.git
    cd Openfire
    docker buildx build --platform=linux/arm64 -t openfire:latest .
    Build on an arm64 machine

    If you attempt to build an arm64 image on an amd64 system using docker buildx, you may encounter cross-platform compatibility issues specific to this application. To avoid them, build the Docker image on an arm64 device.

    Then log in to Sixfab Registry, click + Add Container, and follow the prompts to push the image.

    Pushing images to the Sixfab Container Registry

    For the full walkthrough of tagging and pushing an image, see Update Containers from the Sixfab Container Registry.

  3. 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 Name The application name, e.g. openfire.
    Image The Openfire image you pushed to the Sixfab Container Registry in step 2.
    Enable Host Network Turn 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. 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 console
    http://<DEVICE_IP>:9090

    The Openfire setup wizard guides you through:

    • connecting to your MySQL database (use the openfire credentials 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.

Ready when…
  • The MySQL and openfire containers both show as running in the Applications section.
  • The admin console loads at http://<DEVICE_IP>:9090 and 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 :latest references with a reviewed immutable tag or digest, then record the selected version for rollback.


Did this page help you?