← Back to Installation Guide
FoundryVTT Server Management Guide
Essential maintenance tasks for your FoundryVTT server. Focus on these core operations for day-to-day management.
Accessing Your Server
Connect via Digital Ocean Console
- Go to your Digital Ocean dashboard → Droplets
- Click on your FoundryVTT droplet
- Click the "Access" button
- Enter username:
fvtt in the console username field
- Click "Launch Droplet Console" (see console interface)
- You'll be logged in automatically
Alternative: If you prefer SSH: ssh fvtt@foundry.yourdomain.com
Restarting FoundryVTT
When FoundryVTT Prompts You
When FoundryVTT prompts you to restart the server (FoundryVTT restart prompt), or when you experience server issues:
How to Restart
After accessing your server via the console (see above), simply run:
fvtt.py service restart
That's it! Your FoundryVTT server will be back online in about 30-60 seconds.
Repairing Service Configurations
When to Use Repair
If your server is experiencing issues after updates or configuration changes, the repair tool can automatically fix service configurations without requiring a full reinstall.
What it fixes: The repair command checks and repairs both Caddy (web server) and Docker (FoundryVTT container) configurations to match expected settings.
Check What Would Be Fixed (Dry Run)
Before making changes, see what needs repair:
fvtt.py tool repair --dry-run
This will show you:
- ✓ Services that are correctly configured (no changes needed)
- ⚠ Services that differ from expected configuration
- ✗ Services that are not running or have errors
Safe to run: Dry run mode never makes changes, it only reports what would be done.
Repair All Services
Fix both Caddy and Docker configurations:
fvtt.py tool repair
The repair process will:
- Check Caddy configuration: Compare current web server config with expected settings
- Update if needed: Apply correct configuration (domain, SSL, ports)
- Check Docker configuration: Compare docker-compose.yaml with expected settings
- Restart if needed: Stop services, update configuration, restart with correct settings
Downtime: If Docker configuration needs repair, FoundryVTT will be stopped briefly (30-60 seconds) while the configuration is updated.
Repair Individual Services
Fix only specific services:
fvtt.py tool repair caddy
Repairs only the Caddy web server configuration (SSL, domain, routing).
fvtt.py tool repair docker
Repairs only the Docker Compose configuration (container settings, volumes, ports).
When to use individual repair: If you know the issue is with a specific service, you can repair just that service to minimize downtime.
Backup Operations
Understanding Backups
The fvtt.py tool provides two ways to manage backups:
- Command-line interface (CLI): Quick commands for automated workflows
- Web-based interface: Visual interface for easier management
What gets backed up: Backups capture your entire FoundryVTT data directory including worlds, systems, modules, and assets. These are stored as compressed .tar.gz archives.
Using the Backup Server (Recommended)
The backup server provides a secure web interface for managing backups:
fvtt.py backup server
When you start the backup server:
- FoundryVTT stops automatically: The service is stopped to ensure data consistency
- Secure URL generated: A temporary URL with access key is displayed (e.g., https://yourdomain.com/horde?key=abc123...)
- Web interface launches: Access the URL in your browser to manage backups
- Auto-expires after 20 minutes: Server shuts down automatically for security
- FoundryVTT restarts: When you exit the backup server, FoundryVTT automatically restarts
Active games will be disconnected: When the backup server starts, FoundryVTT stops and all players will be disconnected. Plan accordingly!
Before starting: The tool checks if a world is active and shows player count. You'll be prompted to confirm before stopping the service.
Web Interface Features
In the backup manager web interface you can:
- View all backups: See backup names, sizes, and creation dates
- Create new backups: Generate backups from current FoundryVTT data
- Upload backups: Upload backup files from your computer (max 2GB)
- Download backups: Download any backup to your computer
- Restore backups: Replace current data with any backup point
- Remove old backups: Delete backups to free disk space
- Check disk space: Monitor available space and backup sizes
Safety features: Create and restore operations are blocked while FoundryVTT is active to prevent data corruption. Upload and download work anytime.
Command-Line Backup Operations
For scripting or quick operations, use CLI commands:
List Available Backups
fvtt.py backup list
Shows all backups with names, sizes, and dates.
Create New Backup
fvtt.py backup create
Creates a backup with automatic timestamp naming (e.g., Backup_2024-01-15_14-30-45.tar.gz).
fvtt.py backup create mybackup
Creates a backup with custom name (mybackup.tar.gz).
Restore from Backup
fvtt.py backup restore Backup_2024-01-15_14-30-45.tar.gz
Restores FoundryVTT data from the specified backup.
Backup operations require FoundryVTT to be stopped: Use fvtt.py service stop before creating/restoring, then fvtt.py service start after.
View Backup Statistics
fvtt.py backup stats
Shows backup count, total size, disk space available, and FoundryVTT data size.
Remove a Backup
fvtt.py backup remove Backup_2024-01-15_14-30-45.tar.gz
Moves the backup to a pruning directory (safe removal, not permanent deletion).
Backup Best Practices
- Before major updates: Always create a backup before updating FoundryVTT or modules
- Regular schedule: Create backups weekly or after significant world changes
- Download important backups: Store critical backups on your local computer
- Monitor disk space: Use
fvtt.py backup stats to check available space
- Clean old backups: Remove outdated backups to free space
- Test restores: Occasionally test restoring to verify backup integrity
Two-tier strategy: Use fvtt.py backups for quick restores and Digital Ocean snapshots for disaster recovery.
Connecting with Filezilla
Setting up Filezilla Connection
- Download Filezilla: Get it free from https://filezilla-project.org/
- Launch Filezilla and open Site Manager from the File menu
- Add New Site: Click "New Site" and give it a name like "FoundryVTT Server"
- Configure Connection (connection settings):
- Protocol: SFTP - SSH File Transfer Protocol
- Host: Your server's domain (foundry.yourdomain.com) or IP address
- Port: Leave blank (defaults to 22)
- User:
fvtt
- Logon Type: Key file
- Key File: Browse and select your SSH private key file (NOT the .pub file) from Digital Ocean setup
- Advanced Settings: Click the "Advanced" tab (advanced settings)
- Default local directory: Choose a folder on your computer (use Browse button)
- Default remote directory:
/opt/foundry/data
- Connect: Click "Connect" and accept the prompt about trusting the server's key (trust host key dialog)
Why SSH keys? We use key files instead of passwords because the internet is full of jerks, so we have to use keys to stay secure.
Using Filezilla
Once connected, you'll see your server files (connected server view with file transfer):
- Left Side: Your computer's files and folders
- Right Side: Your FoundryVTT server files
- Download: Drag files from right to left to copy them to your computer
- Upload: Drag files from left to right to upload them to the server
Updating FoundryVTT
How to Update the Tool
Start the update process with:
update-fvtt-py
The update tool will:
- Check for the latest version from the CDN
- Download and verify the update
- Install the new version automatically
- Preserve your existing configuration
Tool updates: The fvtt.py tool itself can be updated easily without reinstalling your server.
More Concepts
Monthly Maintenance
Run this command once a month to keep your server healthy:
fvtt.py tool cleanup
This automated cleanup command will:
- ✓ Clean up old backup files
- ✓ Remove temporary files
- ✓ Free up disk space
For additional maintenance tasks, also run:
sudo apt update && sudo apt upgrade -y
This will update system security patches and keep your server secure.
Quick Backup Reference
For complete backup documentation, see the Backup Operations section above. Quick commands:
fvtt.py backup server - Launch web-based backup manager (recommended)
fvtt.py backup create - Create a new backup from command line
fvtt.py backup list - View all available backups
fvtt.py backup stats - Check disk space and backup sizes
See above: Detailed backup workflows and best practices are covered in the
Backup Operations section.
Digital Ocean Automatic Backups
In addition to the built-in backup system, you can enable platform-level backups:
- Go to your Digital Ocean dashboard
- Click on your FoundryVTT droplet
- Go to the "Backups" tab
- Click "Enable Backups" (adds $2-3 to your monthly cost)
What you get: Automatic weekly backups of your entire server. If something goes catastrophically wrong, you can restore your whole droplet from any backup point. This is your disaster recovery option.
Two-tier backup strategy: Use fvtt.py backups for quick data restores and Digital Ocean backups for complete disaster recovery.
Server Migration
FoundryVTT automatically stores world backups in data/Backups. To migrate between servers:
- Connect to old server using Filezilla
- Navigate to backups: Go to
data/Backups folder on the server
- Download backup files: Drag backup files from server to your computer
- Set up new server: Follow the installation guide
- Upload to new server: Use Filezilla to upload backup files to
data/Backups
- Import in FoundryVTT: Use FoundryVTT's world import feature to restore your worlds
About FoundryVTT Backups: These backups are created when you create backups from the FoundryVTT interface and don't require stopping the server.
Basic Troubleshooting
If your FoundryVTT server isn't working, try these steps in order:
- Restart first:
fvtt.py service restart
- Check status:
fvtt.py status --debug
- View logs:
fvtt.py logs --lines 50
- Run maintenance:
fvtt.py tool cleanup
90% of server issues are solved by simply restarting the service. Always try that first!
Can't access website? DNS can take up to 24 hours to work everywhere. Try http:// instead of https:// temporarily.
Players can't connect? Restart FoundryVTT and make sure the world is running. Have players try incognito/private browsing mode.
Getting More Help
If you're still having trouble:
- Check Error Messages: Look for red text in the console for clues
- Document What Happened: Note what you were doing when the problem started
- Digital Ocean Support: For server/hosting problems
Remember: Most server issues are temporary and can be fixed with a simple restart or maintenance command.
Complete Command Reference
Status & Monitoring
fvtt.py status - Quick status overview
fvtt.py status --debug - Detailed debugging information
fvtt.py logs - View recent logs (last 20 lines)
fvtt.py logs --follow - Follow logs in real-time
fvtt.py logs --lines 100 - View last 100 lines
Service Management
fvtt.py service start - Start FoundryVTT services
fvtt.py service stop - Stop FoundryVTT services
fvtt.py service restart - Restart FoundryVTT services
fvtt.py service status - Detailed service status
Backup Management
fvtt.py backup list - List all available backups
fvtt.py backup create - Create new backup (auto-named)
fvtt.py backup create mybackup - Create backup with custom name
fvtt.py backup restore <name> - Restore from backup
fvtt.py backup remove <name> - Remove a backup file
fvtt.py backup stats - Show backup statistics and disk usage
fvtt.py backup server - Launch web-based backup interface
Backup Server: The backup server command launches a temporary web interface for managing backups. It provides a secure URL with an access key that expires after 20 minutes.
Configuration Management
fvtt.py config show - Display current configuration
fvtt.py config validate - Validate configuration
Tool Management
fvtt.py tool repair - Check and repair service configurations (Caddy + Docker)
fvtt.py tool repair --dry-run - Check what would be repaired without making changes
fvtt.py tool repair caddy - Repair only Caddy web server configuration
fvtt.py tool repair docker - Repair only Docker Compose configuration
fvtt.py tool update - Update the fvtt.py tool itself
fvtt.py tool version - Show version information
fvtt.py tool cleanup - Clean temporary files and old backups
fvtt.py tool welcome - Setup/refresh welcome screen and utilities
Alternative: You can also update the tool using the system command update-fvtt-py
Getting Help
fvtt.py --help - Show all available commands
fvtt.py service --help - Show service management commands
fvtt.py backup --help - Show backup management commands
fvtt.py --version - Show tool version
Focus on the essential operations above. Most problems can be solved with fvtt.py service restart!
Version: