Server Administration
Manage your Fusionaly server - CLI, backups, logs, and troubleshooting
Everything you need to run Fusionaly on your server.
Fusionaly Manager
Section titled “Fusionaly Manager”The fusionaly CLI handles installation, updates, and maintenance.
curl -fsSL https://fusionaly.com/install | bashThe installer prompts for your domain, configures SSL, sets up Caddy, and starts Docker containers.
Commands
Section titled “Commands”| Command | Description |
|---|---|
fusionaly install | Install Fusionaly |
fusionaly update | Update to latest version (backs up DB first) |
fusionaly reload | Restart with current config |
fusionaly restore-db | Interactive backup restore |
fusionaly upgrade | Switch from Free to Pro |
fusionaly change-admin-password | Reset admin password |
fusionaly version | Show version |
Upgrade to Pro
Section titled “Upgrade to Pro”fusionaly upgradeThis switches to the Pro Docker image. Enter your license key in the dashboard onboarding.
Directory Structure
Section titled “Directory Structure”/opt/fusionaly/├── .env # Configuration├── Caddyfile # Web server config├── logs/│ ├── caddy.log│ ├── fusionaly.log│ └── updater.log└── storage/ ├── backups/ # Database backups └── fusionaly-production.db # DatabaseConfiguration
Section titled “Configuration”Stored in /opt/fusionaly/.env:
FUSIONALY_DOMAIN=analytics.example.comAPP_IMAGE=karloscodes/fusionaly:latestFUSIONALY_PRIVATE_KEY=your-keytail -f /opt/fusionaly/logs/fusionaly.log # App logstail -f /opt/fusionaly/logs/caddy.log # Web servertail -f /opt/fusionaly/logs/updater.log # Auto-updaterDatabase
Section titled “Database”sqlite3 /opt/fusionaly/storage/fusionaly-production.dbBackups
Section titled “Backups”What we do for you
Section titled “What we do for you”The manager creates a backup before every update (runs daily at 3 AM).
| Type | Retention |
|---|---|
| Daily | 7 days |
| Weekly | 14 days |
| Monthly | 90 days |
Location: /opt/fusionaly/storage/backups/
Restore anytime: fusionaly restore-db
What you should do
Section titled “What you should do”These backups live on the same server. If the server dies, backups die too.
Pick one off-server strategy:
| Strategy | Effort | Protection |
|---|---|---|
| VPS snapshots | Low | Your provider handles it. Enable weekly snapshots in your VPS dashboard. |
| rsync to another server | Medium | Cron job copies backups nightly. You control everything. |
| Litestream | Medium | Real-time replication to S3. Point-in-time recovery. |
VPS snapshots are the simplest. Most providers (Hetzner, DigitalOcean, Linode) offer them for a few dollars/month.
rsync example (daily at 2 AM):
0 2 * * * rsync -az /opt/fusionaly/storage/backups/ user@backup-server:/backups/fusionaly/Litestream streams every SQLite change to S3-compatible storage. Good if you need point-in-time recovery. See litestream.io — we don’t bundle it, but it works well with Fusionaly’s SQLite database.
Automatic Maintenance
Section titled “Automatic Maintenance”Runs nightly at 3:00 AM:
- Updates Fusionaly to latest version
- Creates database backup
- Rotates logs
Server Requirements
Section titled “Server Requirements”| Resource | Minimum |
|---|---|
| CPU | 1 vCPU |
| RAM | 512MB |
| Storage | 10GB SSD |
Network: Ports 80/443 open for Let’s Encrypt and HTTPS.
Security
Section titled “Security”The Fusionaly installer does not harden your server. Server security is your responsibility.
Before installing, ensure you have:
- Non-root user with sudo privileges
- SSH key authentication (password login disabled)
- Firewall configured (the installer adds UFW rules for 80/443 only)
- Regular OS security updates enabled
See DigitalOcean’s Ubuntu Server Setup Guide for a solid baseline.
Troubleshooting
Section titled “Troubleshooting”| Problem | Fix |
|---|---|
| Container won’t start | docker logs fusionaly-app |
| SSL issues | Check DNS points to server, ports 80/443 open |
| Database locked | Ensure only one instance: docker ps | grep fusionaly |
Uninstall
Section titled “Uninstall”docker stop fusionaly-app fusionaly-caddydocker rm fusionaly-app fusionaly-caddyrm -rf /opt/fusionalyrm /usr/local/bin/fusionaly