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.

Free and open-source personal finance manager with budgeting, expense tracking, and reporting
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
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.
Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

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

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

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

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

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

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

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

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

It deploys Firefly III with MariaDB storage and a cron helper service.
The tutorial used host port 8080, which maps to the Firefly III web service on container port 8080.
The tutorial verifies the clean Firefly III web UI because accounts, budgets, categories, imports, and security settings depend on the production server.
No. The deployment guide should live on the Firefly III template detail page and be linked from the reusable template deployment docs page.
Take the DIY route and deploy Firefly III on your own server using Docker.
Use your terminal to securely access your server. You'll need your server's IP address.
# Connect via SSH
ssh root@your-vps-ip
# Alternative with key file
ssh -i /path/to/key root@your-vps-ipFirst time? Make sure Docker is installed on your VPS. Run: curl -fsSL https://get.docker.com | sh
Initialize a project folder on your server.
# Create and navigate to project directory
mkdir -p ~/apps/firefly-iii
cd ~/apps/firefly-iiiUse this Docker Compose configuration for your deployment:
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:
PORTHost port to expose(default: 8080)APP_KEYApplication encryption keyDB_NAMEDatabase name(default: firefly)DB_USERDatabase user(default: firefly)DB_PASSWORDDatabase passwordCRON_TOKENCron authentication tokenBring up your containers in detached mode.
# Start all services
docker compose up -d
# List running containers
docker compose ps
# Watch the logs
docker compose logs -fAllow the application port through your server's firewall.
# Allow the application port through firewall
sudo ufw allow 8080/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:8080Forget SSH and YAML files. Deploy Firefly III visually with Server Compass in just a few clicks.
After deploying Firefly III with Server Compass, complete these steps to finish setup
Open the Firefly III URL in your browser
Create your account
Set up your bank accounts and budgets
Start tracking transactions
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting Firefly III
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.
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.
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Firefly III backup and restore procedures.
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.
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.
Download Server Compass and deploy Firefly III to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass