Updates
How your Freedom Messenger server stays up to date with security fixes and new features.
Automatic Updates (Recommended)
The easiest way to receive updates is to let us push them to your server automatically. Here is how it works:
- You provide us with SSH access to your server (a deploy key)
- We add your server's IP address to our CI/CD deployment pipeline
- When a new version is released, it is automatically deployed to your server
- The process: stop service → back up database → replace binary → copy app files → start service
For managed hosting customers, automatic updates are included — you do not need to do anything.
Setting Up Auto-Updates
To enable automatic updates on a self-hosted server:
- We will provide you with a public SSH key
- Add it to
/home/deploy/.ssh/authorized_keyson your server - Tell us your server's IP address
- We add it to the deploy pipeline — updates happen automatically from then on
The deploy user has restricted sudo access — it can only start and stop Freedom Messenger services, nothing else.
Manual Updates
If you prefer to update manually (for example, if you do not want to give SSH access):
- We provide you with the new binary file
- Back up your database:
freedom-mess backup - Stop the service:
sudo systemctl stop freedom-mess - Replace the binary at
/usr/local/bin/freedom-mess - Start the service:
sudo systemctl start freedom-mess - Database migrations run automatically on startup
One-Time Purchase Customers
If you purchased a one-time license, you received the version available at the time of purchase. No updates are included. To receive future updates:
- Subscribe to the updates plan (from $5/mo) — we set up SSH access and push updates automatically
What Happens During an Update
The update process is designed to be safe:
- A database backup is created before replacing the binary
- The old binary is saved as
.bakfor rollback - New app files (APK, desktop installers) are copied to
data/apps/ - Database migrations run automatically when the new version starts
- If anything goes wrong, restoring the old binary and backup database reverts the change
Rollback
If an update causes problems:
# Restore old binary
sudo cp /usr/local/bin/freedom-mess.bak /usr/local/bin/freedom-mess
# Restore database backup (if needed)
cp /opt/freedom-mess/data/freedom-mess-pre-update.db /opt/freedom-mess/data/freedom-mess.db
# Restart
sudo systemctl restart freedom-mess Best Practices
- Always back up before updating manually
- Monitor server logs after an update:
journalctl -u freedom-mess -f - Auto-updates are preferred — they include the backup step automatically