Skip to content

Server Administration

Manage your Fusionaly server - CLI, backups, logs, and troubleshooting

This page covers everything you need to run Fusionaly on your server.

The fusionaly CLI handles installation, updates, and maintenance.

Terminal window
curl -fsSL https://fusionaly.com/install | bash

The installer asks for your domain. It sets up SSL, sets up Caddy, and starts the Docker containers.

CommandDescription
fusionaly installInstall Fusionaly
fusionaly updateUpdate to the latest version (backs up the database first)
fusionaly reloadRestart with the current config
fusionaly restore-dbInteractive backup restore
fusionaly change-admin-passwordReset the admin password
fusionaly versionShow the version
/opt/fusionaly/
├── .env # Configuration
├── Caddyfile # Web server config
├── logs/
│ ├── caddy.log
│ ├── fusionaly.log
│ └── updater.log
└── storage/
├── backups/ # Database backups
└── fusionaly-production.db # Database

Stored in /opt/fusionaly/.env:

Terminal window
FUSIONALY_DOMAIN=analytics.example.com
APP_IMAGE=karloscodes/fusionaly:latest
FUSIONALY_PRIVATE_KEY=your-key
Terminal window
tail -f /opt/fusionaly/logs/fusionaly.log # App logs
tail -f /opt/fusionaly/logs/caddy.log # Web server
tail -f /opt/fusionaly/logs/updater.log # Auto-updater
Terminal window
sqlite3 /opt/fusionaly/storage/fusionaly-production.db

The manager creates a backup before every update. It runs daily at 3 AM.

TypeRetention
Daily7 days
Weekly14 days
Monthly90 days

Location: /opt/fusionaly/storage/backups/

Restore at any time with fusionaly restore-db.

These backups live on the same server. If the server dies, the backups die too.

Pick one off-server strategy:

StrategyEffortProtection
VPS snapshotsLowYour provider handles it. Enable weekly snapshots in your VPS dashboard.
rsync to another serverMediumA cron job copies backups nightly. You control everything.
LitestreamMediumReal-time replication to S3. Gives you point-in-time recovery.

VPS snapshots are the simplest option. Most providers (Hetzner, DigitalOcean, Linode) offer them for a few dollars a month.

rsync example (daily at 2 AM):

Terminal window
0 2 * * * rsync -az /opt/fusionaly/storage/backups/ user@backup-server:/backups/fusionaly/

Litestream streams every SQLite change to S3-compatible storage. Use it if you need point-in-time recovery. See litestream.io. We do not bundle it, but it works well with Fusionaly’s SQLite database.

Runs nightly at 3:00 AM:

  • Updates Fusionaly to the latest version
  • Creates a database backup
  • Rotates logs
ResourceMinimum
CPU1 vCPU
RAM512MB
Storage10GB SSD

Network: Ports 80 and 443 open, for Let’s Encrypt and HTTPS.

The Fusionaly installer does not harden your server. Server security is your responsibility.

Before you install, make sure you have:

  • A non-root user with sudo privileges
  • SSH key authentication, with password login disabled
  • A firewall configured (the installer adds UFW rules for ports 80 and 443 only)
  • Regular OS security updates enabled

See DigitalOcean’s Ubuntu Server Setup Guide for a solid baseline.

ProblemFix
Container will not startRun docker logs fusionaly-app
SSL issuesCheck that DNS points to your server, and that ports 80/443 are open
Database lockedMake sure only one instance runs: docker ps | grep fusionaly
Terminal window
docker stop fusionaly-app fusionaly-caddy
docker rm fusionaly-app fusionaly-caddy
rm -rf /opt/fusionaly
rm /usr/local/bin/fusionaly