Back to all templates
Firefly III logo

Firefly III

Application256MB+ RAM

Free and open-source personal finance manager with budgeting, expense tracking, and reporting

financebudgetingexpense-trackingpersonal-finance

Deploy Firefly III in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Firefly III

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Firefly III on a VPS with Server Compass

Use the Firefly III template in Server Compass to deploy a self-hosted personal finance manager with MariaDB-backed finance application on your VPS, then verify the Firefly III web UI in a browser.

About 7 minutesBrowser verified
1
Step 1

Open the server Apps tab

Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Server Compass Apps tab before creating a Firefly III app
2
Step 2

Choose an app template

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Firefly III

Use the template picker search to find Firefly III in the Server Compass template catalog.

Searching for Firefly III in the Server Compass template picker
4
Step 4

Select the Firefly III template

Choose the Firefly III template. Server Compass fills the Firefly III app, MariaDB database, and cron services.

Firefly III template selected in Server Compass
5
Step 5

Review the Firefly III settings

Confirm the app name and compose services. In this run, the app was named firefly-iii-demo and used host port 8080.

Reviewing Firefly III project settings and compose services
6
Step 6

Deploy Firefly III

Review the generated environment values, confirm the port is available, and click Deploy Now.

Reviewing Firefly III environment variables and port before deployment
7
Step 7

Watch the deployment progress

Keep the deployment modal open while Server Compass uploads the compose file, pulls the Firefly III image, starts the container, and verifies the stack.

Server Compass deploying the Firefly III template on the VPS
8
Step 8

Confirm Firefly III is running

After deployment finishes, return to the Apps tab and confirm the Firefly III app is marked Running with its application URL available.

Firefly III template running in the Server Compass Apps tab
9
Step 9

Open Firefly III in the browser

Open the application URL in a browser. The Firefly III web UI confirms the site is reachable.

The deployed Firefly III web UI loaded in a browser

After Firefly III Opens

  • Sign in with the initial admin account and configure company details before production use.
  • Configure accounts, budgets, categories, HTTPS, and data imports before production use.
  • Add a domain and HTTPS before exposing Firefly III to users.
  • Back up the Firefly III MariaDB volume before relying on it for production finance data.

Verified Result

The Firefly III web UI loaded successfully in a browser.

Firefly III deployment questions

What does the Firefly III template deploy?

It deploys Firefly III with MariaDB storage and a cron helper service.

Which port did the tutorial use?

The tutorial used host port 8080, which maps to the Firefly III web service on container port 8080.

Why does the guide stop at the login or setup web UI?

The tutorial verifies the clean Firefly III web UI because accounts, budgets, categories, imports, and security settings depend on the production server.

Should this become a blog post?

No. The deployment guide should live on the Firefly III template detail page and be linked from the reusable template deployment docs page.

DIY Deployment

Self-Host Firefly III with Docker

Take the DIY route and deploy Firefly III on your own server using Docker.

1

Access Your VPS Terminal

Use your terminal to securely access your server. You'll need your server's IP address.

terminal
# Connect via SSH
ssh root@your-vps-ip

# Alternative with key file
ssh -i /path/to/key root@your-vps-ip

First time? Make sure Docker is installed on your VPS. Run: curl -fsSL https://get.docker.com | sh

2

Set Up the Deployment Folder

Initialize a project folder on your server.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/firefly-iii
cd ~/apps/firefly-iii
3

Set Up the Stack Definition

Use this Docker Compose configuration for your deployment:

docker-compose.yml
services:
  app:
    image: fireflyiii/core:latest
    ports:
      - "8080:8080"
    environment:
      - APP_KEY=<your-app-key>
      - APP_URL=http://localhost:8080
      - DB_CONNECTION=mysql
      - DB_HOST=db
      - DB_PORT=3306
      - DB_DATABASE=firefly
      - DB_USERNAME=firefly
      - DB_PASSWORD=<your-db-password>
      - [email protected]
      - TZ=UTC
      - STATIC_CRON_TOKEN=<your-cron-token>
    volumes:
      - firefly_upload:/var/www/html/storage/upload
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy

  db:
    image: mariadb:lts
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=yes
      - MYSQL_USER=firefly
      - MYSQL_PASSWORD=<your-db-password>
      - MYSQL_DATABASE=firefly
    volumes:
      - firefly_db:/var/lib/mysql
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "mysqladmin ping -h localhost -u root -p$$MYSQL_ROOT_PASSWORD || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 30s

  cron:
    image: alpine:latest
    command: >
      sh -c "echo '0 3 * * * wget -qO- http://app:8080/api/v1/cron/<your-cron-token>' | crontab - && crond -f -L /dev/stdout"
    restart: unless-stopped
    depends_on:
      - app

volumes:
  firefly_upload:
  firefly_db:
Configurable Options
PORTHost port to expose(default: 8080)
APP_KEYApplication encryption key
DB_NAMEDatabase name(default: firefly)
DB_USERDatabase user(default: firefly)
DB_PASSWORDDatabase password
CRON_TOKENCron authentication token
4

Start the Containers

Bring up your containers in detached mode.

terminal
# Start all services
docker compose up -d

# List running containers
docker compose ps

# Watch the logs
docker compose logs -f
5

Set Up Firewall Rules

Allow the application port through your server's firewall.

terminal
# Allow the application port through firewall
sudo ufw allow 8080/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:8080
Skip the Terminal

Let Server Compass do the heavy lifting.

Forget SSH and YAML files. Deploy Firefly III visually with Server Compass in just a few clicks.

  • Beautiful interface
  • One-click deploys
  • Let's Encrypt SSL
  • Zero downtime
  • Container monitoring
  • Easy rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Firefly III with Server Compass, complete these steps to finish setup

1

Open the Firefly III URL in your browser

2

Create your account

3

Set up your bank accounts and budgets

4

Start tracking transactions

Need help? Check out our documentation for detailed guides.

Firefly III FAQ

Common questions about self-hosting Firefly III

How do I deploy Firefly III with Server Compass?

Simply download Server Compass, connect to your VPS, and select Firefly III from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.

What are the system requirements for Firefly III?

Firefly III requires a minimum of 256MB RAM. We recommend a VPS with at least 1024MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Firefly III data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Firefly III backup and restore procedures.

How do I update Firefly III to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Firefly III image will be pulled and deployed with zero downtime.

Is Firefly III free to self-host?

Firefly III is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Ready to Self-Host Firefly III?

Download Server Compass and deploy Firefly III to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass