Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Install Prosody from Ubuntu’s package repository, define the XMPP domain in /etc/prosody/prosody.cfg.lua, issue a certificate whose names match that domain, then create the first account with prosodyctl. The installation itself is short; reliable service depends on keeping the DNS name, VirtualHost, authentication settings, and certificate identity consistent.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
This guide uses Ubuntu’s packaged Prosody installation path and covers a single-domain deployment first, followed by multi-domain, authentication, module, and troubleshooting decisions.
As an Amazon Associate I earn from qualifying purchases.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Decide how the server will be deployed
Before installing, choose the scope of the VPS. A single XMPP domain is easiest to operate and is suitable for a personal or small organizational service. A multi-domain configuration uses several VirtualHost blocks and is more flexible, but every additional domain introduces its own DNS and certificate checks.
| Decision | Simpler option | When the alternative is justified |
|---|---|---|
| Package source | Ubuntu’s official Prosody package | Prosody’s upstream repository when you specifically need a newer version or a different update cadence than Ubuntu provides. Confirm repository support for your Ubuntu release before changing sources. |
| Domains | One VirtualHost |
Multiple VirtualHost entries when one server must serve separate XMPP domains. |
| Authentication | internal_hashed, with accounts managed by prosodyctl |
An external authentication provider when your organization already operates one and can maintain its integration. |
| Modules | Prosody’s built-in modules | Community modules only when their documentation, dependencies, update path, and security implications are understood. |
Install Prosody from Ubuntu
Prosody’s official Debian and Ubuntu instructions use the distribution package. Ubuntu’s package index lists Prosody for Ubuntu 24.04 LTS and also lists prosody-modules for optional modules.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
- Connect to the VPS over SSH with an account that can use
sudo. - Refresh the package index:
sudo apt update
- Install the server:
sudo apt install prosody
The package places the principal configuration at /etc/prosody/prosody.cfg.lua and installs the prosodyctl administration command. Do not assume that package installation alone creates a usable public XMPP service: the next required step is defining which hosts Prosody should serve.
Point DNS at the VPS before configuring the host
Choose the name users will type into their XMPP clients, such as chat.example.com. Create the DNS records required by your provider so that this name resolves to the VPS. If you use separate records for client and server-to-server discovery, make sure they ultimately refer to the same intended service.
The name must match in three places:
- The DNS records users and other XMPP servers resolve.
- The
VirtualHostname in Prosody’s configuration. - The names covered by the TLS certificate.
After the configuration exists, Prosody can test whether DNS agrees with the declared hosts:
sudo prosodyctl check dns
Run this check after adding a domain, changing an address, or changing discovery records. DNS changes can take time to appear according to the records’ TTL, so a correct edit may not be visible immediately from every resolver.
Configure prosody.cfg.lua
Open the main file with your preferred editor:
sudo nano /etc/prosody/prosody.cfg.lua
Add a host block for the domain. This is the minimal shape for a first host:
VirtualHost "chat.example.com"
admins = { "[email protected]" }
authentication = "internal_hashed"
What each setting does
VirtualHost "chat.example.com"tells Prosody which XMPP domain it serves. The string is the domain users enter in their clients; it is not an arbitrary label.adminsidentifies the administrative XMPP account or accounts. The address must belong to the host you are serving.authentication = "internal_hashed"stores account credentials using Prosody’s internal hashed authentication method. It lets you create and change accounts withprosodyctl.
Review the existing modules_enabled section rather than replacing it blindly. Modules provide capabilities such as registration, discovery, or other protocol functions, but enabling a module does not automatically supply every setting it may require. Keep only the features you need, and follow the module’s own documentation for configuration details.
Recommended Free Tools
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Add a second domain only when you need one
A multi-domain server uses another host block with the same structure:
VirtualHost "team.example.net"
admins = { "[email protected]" }
authentication = "internal_hashed"
Each host needs DNS that resolves correctly and certificate coverage for its own name. Keep the account address, host name, and certificate identity aligned; an account created under one host is not the same account under another host.
Choose and enforce authentication
internal_hashed is the practical starting point for a self-contained VPS. It avoids depending on a separate identity service and works with the adduser and passwd commands exposed by prosodyctl.
An external authentication provider can centralize identities across services, but it adds an integration, another failure point, and provider-specific configuration. Prosody’s core configuration does not establish those provider details; use the provider and Prosody module documentation for the exact method before selecting it.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Configure TLS and certificates
Prosody’s mod_tls implements TLS for XMPP. For an Internet-facing production service, use a publicly trusted certificate and protect its private key with operating-system permissions that prevent unprivileged users from reading it.
Require encryption for both major traffic directions in the host or global configuration:
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
c2s_require_encryption = true
s2s_require_encryption = true
c2s_require_encryptionrequires client-to-server sessions to use encryption.s2s_require_encryptionrequires server-to-server sessions to use encryption.
The certificate must cover the exact DNS names used by your VirtualHost entries. A certificate for a different spelling, a different subdomain, or only an unrelated parent name will produce validation failures even when DNS is correct.
Use Prosody’s certificate operations
The Ubuntu prosodyctl documentation provides certificate subcommands for requesting, generating, and importing certificates:
Free tools Windows power users keep installed
One-click scans. No signup required.
sudo prosodyctl cert request
sudo prosodyctl cert generate
sudo prosodyctl cert import
The arguments and files required by these operations depend on the certificate workflow you choose. Read the command’s help and the certificate documentation before running it, then ensure the resulting files are readable by Prosody but not exposed to ordinary users.
Validate certificates after importing or renewing them:
sudo prosodyctl check certs
Do not treat a locally generated certificate as publicly trusted merely because Prosody can read it. For clients and remote servers on the public Internet, a certificate issued by a trusted certificate authority avoids trust prompts and interoperability problems.
Enable the service and create the first account
Once the host and certificate settings are saved, enable Prosody at boot and start it immediately:
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
sudo systemctl enable --now prosody
Create the administrative account named in the admins setting:
sudo prosodyctl adduser [email protected]
The command prompts for a password. Use a unique, long password because this account can have administrative privileges within Prosody.
For an existing account, the password-management command is:
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchessudo prosodyctl passwd [email protected]
If you configured another host, replace chat.example.com with that host in both the account address and the configuration. XMPP addresses are host-specific; creating [email protected] does not create [email protected].
Run the validation checks in a fixed order
Use the checks after the initial install and after every domain or certificate change. Running them in this order makes it easier to isolate a failure:
- Confirm the service state:
sudo prosodyctl status
- Check Lua configuration syntax and Prosody’s configuration loading:
sudo prosodyctl check config
- Check that declared hosts and DNS agree:
sudo prosodyctl check dns
- Check certificate loading and name coverage:
sudo prosodyctl check certs
- Check end-to-end Prosody connectivity:
sudo prosodyctl check connectivity
A successful service status is not enough by itself. Configuration, DNS, certificate, and connectivity checks test different parts of the deployment and should all pass before you hand the server to users.
Best Value
Install and manage optional modules carefully
Ubuntu’s package index provides a prosody-modules package for optional modules. Prosody also has a plugin installer available since version 0.12.0, using LuaRocks; a module can be installed with prosodyctl install.
sudo prosodyctl install <module-name>
The angle-bracket text is a placeholder for the real module name; replace it rather than typing the brackets. Installing a module does not enable or configure it. After installation:
- Read that module’s documentation for dependencies and settings.
- Add its name to the appropriate
modules_enabledlist when instructed. - Apply any host-specific configuration it requires.
- Run
sudo prosodyctl check configandsudo prosodyctl check connectivity.
Prefer built-in modules or distribution-packaged modules when they meet your requirements. Community modules can add useful features, but their maintenance and compatibility are separate responsibilities from the Prosody package itself.
Ubuntu package or upstream repository?
The Ubuntu package is the least complicated path: updates follow Ubuntu’s packaging and release process, dependencies are handled by apt, and the service integrates with Ubuntu’s service manager. It may not provide the newest Prosody version immediately.
Prosody’s upstream repository can provide a fresher version or a different update cadence, but it adds repository trust, upgrade, and compatibility decisions. Do not mix package sources casually. Pick one supported source for the server’s lifetime, document it, and test upgrades before applying them to a production VPS.
Troubleshoot the common failure points
check config reports a syntax error
- Inspect the most recent edit in
/etc/prosody/prosody.cfg.lua. - Check that quoted host names and account addresses use matching quotation marks.
- Verify that each setting is inside the intended host or global section.
- Run
sudo prosodyctl check configagain before restarting the service.
check dns fails
- Confirm that the DNS name exactly matches the
VirtualHoststring. - Check that the record points to the VPS address currently in use.
- Wait for DNS propagation when the record was changed recently.
- Repeat the check from the VPS after the resolver sees the updated record.
check certs fails
- Confirm that the certificate includes every host name you configured.
- Check that Prosody can read the certificate and private key files.
- Import the renewed certificate with the certificate workflow you selected.
- Run the certificate check again before testing client login.
The account cannot log in
- Verify the user entered the complete address, including the correct host.
- Confirm that
sudo prosodyctl addusercompleted for that exact address. - Reset the password with
sudo prosodyctl passwd user@hostif necessary. - Check configuration, DNS, certificates, and connectivity in sequence.
The service starts but clients still cannot connect
Check sudo prosodyctl status first, then run check config, check dns, check certs, and check connectivity. A running process does not prove that the declared host resolves correctly or that its certificate is trusted. Also verify that the VPS provider’s network policy and the operating system firewall permit the Prosody listener ports configured for your deployment.
Production checklist
- Install Prosody with
sudo apt updateandsudo apt install prosody. - Define at least one correctly spelled
VirtualHost. - Set an administrator and choose an authentication method deliberately.
- Point DNS at the VPS and verify it with
sudo prosodyctl check dns. - Use a publicly trusted certificate for an Internet-facing service.
- Protect the private key and verify it with
sudo prosodyctl check certs. - Require TLS for client-to-server and server-to-server traffic in production.
- Enable Prosody with
sudo systemctl enable --now prosody. - Create the first account with
sudo prosodyctl adduser. - Run status, configuration, DNS, certificate, and connectivity checks after changes.
- Install optional modules only when their dependencies and configuration are understood.
What a successful installation looks like
A completed deployment has a running Prosody service, at least one VirtualHost, DNS that resolves that host to the VPS, a certificate covering the same name, and an account created under that host. The final verification is not one command: the service, configuration, DNS, certificate, and connectivity checks should all agree before users connect.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




