Deploy Firefly III

Track spending, budgets and accounts in your own private finance app.

Deploy Firefly III

/var/lib/postgresql/data

Just deployed

/var/www/html/storage/upload

Deploy and Host Firefly III on Railway

Firefly III logo

Firefly III is an open source personal finance manager. It tracks every account you have, from checking and savings to credit cards, loans and cash, and helps you budget, categorize spending, set savings goals and see where your money goes. It uses double-entry bookkeeping under the hood, supports any currency, and automates the boring parts with rules, recurring transactions and bills. It is AGPL-3.0 licensed with about 25,200 GitHub stars, and v6.7.9 shipped in October 2026. This template runs Firefly III with PostgreSQL on Railway, secure cookies behind Railway's HTTPS proxy, a generated app key and cron token, and a volume for attachments. YNAB costs $14.99/month or $109/year. Firefly III on Railway costs about $5–10/month, and your financial data stays on your own server.


What This Template Deploys

ServicePurpose
Firefly IIIfireflyiii/core:latest, the official image, on port 8080 with a public domain. Web app and JSON API. Volume at /var/www/html/storage/upload for receipts and attachments.
Postgrespostgres-ssl:18, reachable only over Railway's private network. Volume at /var/lib/postgresql/data holds accounts, transactions, budgets and rules.

About Hosting Firefly III

Budgeting apps want your bank login, your data and a yearly subscription. Firefly III keeps everything on a server you control, and nothing is shared with a third party unless you choose to connect an importer.

Accounts of every kind. Asset accounts, credit cards, loans, mortgages, debts, expense and revenue accounts, each with its own currency.

Budgets. Set budgets per period, see how much is left, and roll over or reset each month.

Categories, tags and rules. Categorize transactions by hand or let rules do it automatically based on description, amount, account or other fields. Rules can also set budgets, tags and notes.

Bills and recurring transactions. Track subscriptions and regular payments, and let Firefly III create recurring transactions on schedule.

Piggy banks. Save toward goals such as a holiday or an emergency fund and track progress.

Reports and charts. Monthly and yearly reports, budget and category breakdowns, net worth over time and income versus expenses.

Search and filters. A powerful search syntax finds transactions by amount, date, account, category, tag or description, and the same filters drive rule tests.

Export anytime. Export all transactions to CSV from the data export page, so your history is never locked in.

Multi-currency. Record transactions in any currency with exchange rates, which suits travelers and people with accounts abroad.

API and importer. A full REST API with personal access tokens, plus the separate Firefly III Data Importer for CSV files and supported bank connections.


Deploy Firefly III in Under 5 Minutes

  1. Click Deploy on Railway. The app key, cron token and database password are generated for you.
  2. Wait for Postgres, then for Firefly III to run its migrations on the first boot.
  3. Open the public domain and register. The first account you create becomes the administrator, so do this right away.
  4. Follow the setup wizard to add your first bank account and default currency.
  5. Add transactions by hand, import a CSV with the Data Importer, or connect apps through the API.

Common Use Cases

  • Personal budgeting: track spending against monthly budgets and see what's left.
  • Household finances: share one instance for joint accounts and shared bills.
  • Debt payoff: follow loans and credit cards as their balances fall.
  • Savings goals: use piggy banks for trips, emergencies or big purchases.
  • Freelancers: separate business and personal income and expenses with tags and categories.
  • Multi-currency living: manage accounts in several countries in one place.
  • Privacy-first tracking: keep your financial history off third-party clouds.
  • Net worth tracking: watch assets and liabilities over years in one chart.
  • Expense reports: filter by tag or category to total costs for a trip, project or tax year.

Configuration

VariableRequiredDefaultDescription
APP_KEY🔐 Auto-generated32-char secretEncryption key for sessions and data. Never change after launch
APP_URLAuto-setRailway domainPublic URL used in links
STATIC_CRON_TOKEN🔐 Auto-generated32-char secretToken for the cron URL that runs recurring tasks
SITE_OWNEROptionalmail@example.comAdmin contact address shown in errors
TZOptionalUTCTimezone for dates and reports
DEFAULT_LANGUAGEOptionalen_USDefault interface language
DB_*Auto-setPostgres referencesDatabase connection
MAIL_MAILEROptionallogWrites emails to the log; set SMTP variables to send real mail
COOKIE_SECUREOptionaltrueHTTPS-only cookies
TRUSTED_PROXIESOptional*Trusts Railway's TLS proxy
APP_LOG_LEVELOptionalnoticeMinimum log level

Set up the daily cron. Recurring transactions, bill reminders and auto-budgets need a daily trigger. Add a Railway cron service or any scheduler that calls https://YOUR-DOMAIN/api/v1/cron/ followed by your STATIC_CRON_TOKEN once a day. Without it, recurring transactions are not created.

Email. Mail goes to the log by default. To get password resets and notifications, set MAIL_MAILER=smtp with MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD and MAIL_FROM.

Importing your history. Deploy the Firefly III Data Importer as a second service in the same project, give it your Firefly III URL and a personal access token, and import CSV exports from your bank. Saved import configurations make monthly imports a two-minute job.

Mobile access. Firefly III works in a mobile browser, and community apps for iOS and Android connect through the API with a personal access token.

Exchange rates. Firefly III can fetch exchange rates for foreign currency transactions, or you can enter rates yourself for full control over reports in your main currency.

Two-factor login. Turn on two-factor authentication in your profile. Your finances are worth the extra step, especially on a public URL.

Timezone. Set TZ to your own timezone so transactions near midnight land on the right day.


Firefly III vs. Alternatives

FeatureFirefly III on RailwayYNABActual BudgetMonarch Money
HostingSelf-hostedHosted SaaSSelf-hosted or localHosted SaaS
LicenseAGPL-3.0ProprietaryMITProprietary
Double-entry bookkeeping✅❌❌❌
Rules engine✅Basic✅✅
Multi-currency✅LimitedLimitedLimited
REST API✅✅Partial❌
PriceAbout $5–10/month$14.99/monthHosting costSubscription

YNAB is the strongest envelope-budgeting coach. Actual Budget follows a similar envelope method and is lighter to run. Firefly III is the better fit for detailed tracking across many accounts and currencies.


Dependencies for Firefly III Hosting

  • A Railway account.
  • Optional: the Firefly III Data Importer as a second service for CSV and bank imports.
  • Optional: an SMTP provider for password resets.

Deployment Dependencies

Implementation Details

The image follows the latest tag, so a redeploy picks up new releases; the current one is v6.7.9. Database migrations run automatically on boot. Sessions and cache use files inside the container, so a redeploy signs everyone out but loses no data. Attachments are stored on the upload volume. The start command fixes storage permissions before handing over to the image's own entrypoint.


Frequently Asked Questions

What is Firefly III? An AGPL-3.0 self-hosted personal finance manager for budgets, accounts, bills and reports.

How much does it cost to host Firefly III? About $5–10/month on Railway for the app and Postgres.

How do I create the admin account? Register on the public domain right after deploying. The first registered user becomes the administrator.

Can Firefly III import my bank transactions? Yes, through the separate Data Importer, which reads CSV files and supports some bank data providers.

Why aren't recurring transactions created? They need the daily cron. Call the cron URL with your STATIC_CRON_TOKEN once a day.

Is my financial data private? Yes. Everything is stored in your own Postgres database on Railway.


Why Deploy and Host Firefly III on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Firefly III on Railway, you get a private budgeting and money-tracking app with Postgres, without a subscription or sharing your finances with a third party.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
51
View Template
Foundry Virtual Tabletop
Self-hosted virtual tabletop for role-playing games (license required)

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
52