Choose your installation method
Firefly III offers multiple installation options to fit your technical setup and preferences. Choose the method that works best for you.Docker
Recommended - Quick setup with Docker Compose. Perfect for most users.
Self-hosted
Install directly on your server with PHP, web server, and database.
Kubernetes
Deploy in a Kubernetes cluster with Helm charts and manifests.
Cloud platforms
One-click install on Cloudron, YunoHost, and other platforms.
System requirements
Before installing Firefly III, ensure your system meets these requirements:For Docker installation
Docker requirements
Docker requirements
- Docker Engine 20.10 or newer
- Docker Compose 2.0 or newer
- At least 512 MB RAM available
- 1 GB free disk space (more for your data)
- Port 80 or 8080 available (configurable)
For self-hosted installation
PHP requirements
PHP requirements
Firefly III requires PHP 8.5 or higher with these extensions:
These extensions are typically included in standard PHP installations but may need to be enabled.
Database requirements
Database requirements
Choose one of these database systems:MySQL / MariaDB (recommended)
- MySQL 8.0 or newer
- MariaDB 10.6 or newer
- PostgreSQL 12 or newer
- SQLite 3.35 or newer
- Suitable for development and small installations
Web server requirements
Web server requirements
Firefly III works with:
- Apache 2.4+ with
mod_rewriteenabled - Nginx 1.18+ with PHP-FPM
- Caddy 2.0+ (automatic HTTPS)
- Write permissions to
storage/andbootstrap/cache/directories - Access to PHP execution
- Proper URL rewriting configured
Installation comparison
Not sure which method to choose? Here’s a quick comparison:| Feature | Docker | Self-hosted | Kubernetes | Cloud Platforms |
|---|---|---|---|---|
| Ease of setup | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| Maintenance | Easy | Moderate | Complex | Very easy |
| Customization | High | Very high | Very high | Limited |
| Performance | Excellent | Excellent | Excellent | Good |
| Resource usage | Low | Very low | Medium | Varies |
| Best for | Most users | Advanced users | Enterprise | Beginners |
New to self-hosting? Start with Docker or a cloud platform. You can always migrate to a different setup later.
Quick start options
Option 1: Docker (recommended)
The fastest way to get started:Complete Docker guide
Follow the detailed Docker installation guide with all configuration options.
Option 2: Self-hosted with Composer
For full control over your installation:Complete self-hosted guide
Follow the detailed self-hosted installation guide with web server configuration.
Option 3: One-click platforms
Install with a single click on these platforms:Cloudron
Install on Cloudron with automatic updates and backups
YunoHost
Install via YunoHost package manager
Softaculous
Auto-installer for cPanel and Plesk
AMPPS
Local development stack with Firefly III
Configuration essentials
After installation, you’ll need to configure these core settings:Generate application key
The Or generate manually:
APP_KEY is critical for security. Generate a random 32-character string:Post-installation steps
After installation, complete these steps:Create your first user account
Create your first user account
- Open Firefly III in your browser
- Register a new account (first user becomes administrator)
- Set a strong password
- Enable two-factor authentication for security
Secure your installation
Secure your installation
Enable HTTPS
- Use a reverse proxy (nginx, Caddy, Traefik)
- Obtain SSL certificates (Let’s Encrypt recommended)
- Force HTTPS redirects
- Only expose necessary ports (80, 443)
- Restrict database access to localhost
- Consider VPN access for extra security
Set up automated tasks
Set up automated tasks
Firefly III needs a cron job for recurring transactions and maintenance:For Docker:
The cron job runs automatically in the container.For self-hosted:
Add this to your crontab:Or use the static cron token:
Configure backups
Configure backups
Database backups:Docker volume backups:
Updating Firefly III
Docker updates
Self-hosted updates
Configuration guide
Learn about all available configuration options and advanced settings.
Troubleshooting
White screen or 500 error
White screen or 500 error
- Check PHP error logs
- Verify file permissions on
storage/andbootstrap/cache/ - Ensure all PHP extensions are installed
- Run
php artisan config:clearandphp artisan cache:clear
Database connection failed
Database connection failed
- Verify database credentials in
.env - Check database server is running
- Ensure database exists:
CREATE DATABASE firefly; - Test connection:
mysql -u firefly -p -h localhost firefly
Docker container won't start
Docker container won't start
- Check logs:
docker-compose logs firefly_iii_app - Verify port is not already in use
- Ensure
.envfile hasAPP_KEYset - Wait for database initialization (can take 60 seconds)
Can't log in after installation
Can't log in after installation
- Clear browser cache and cookies
- Check session driver in
.env(usefilefor simple setups) - Verify permissions on
storage/framework/sessions/ - Create new user:
php artisan firefly-iii:create-user
Need more help?
Visit the troubleshooting guide for more solutions and debugging tips.
Next steps
Quick start guide
Set up your first account and transaction
Import data
Import existing financial data from your bank
API access
Generate API tokens for integrations
Security setup
Configure 2FA and security settings