# serversideup/financial-freedom: a self-hosted Mint alternative that is on hold

> Financial Freedom is a Laravel and Vue budgeting app you run yourself in Docker. The README currently tells you not to install it, and that instruction is the most important fact about the project.

**serversideup/financial-freedom** — 🔥🔥🔥 An open source alternative to Mint, YNAB, and more. Stay on budget and build wealth without sacrificing your privacy.

- Repository: https://github.com/serversideup/financial-freedom
- Website: https://serversideup.net/open-source/financial-freedom/
- Stars: 2,930 · Forks: 217
- Language: Vue
- License: GPL-3.0
- Published: 2026-09-24 · Updated: 2026-09-24 · Language: en
- Canonical page: https://hysenlabs.com/projects/serversideup-financial-freedom

## The problem Financial Freedom targets, and the one it has not solved

Mint, YNAB and similar tools hold your transaction history on their servers. Financial Freedom is positioned as the opposite: a budgeting application you host yourself, so the ledger never leaves hardware you control. The README frames this as reviewing exactly what happens with your data, and the feature grid lists bank sync, tagging and splitting, cash flow and budgets, and multi-currency support. The intended audience is the engineer who is comfortable running a container and would rather pay in maintenance time than in subscription fees or data exposure.

The project has not reached that audience yet. A caution block at the top of the README states: "Do not attempt to install this project until this message is removed." The reason given is that the codebase is in the middle of a major refactor and a fresh install shows a blank screen, because the team was working on the release process before pausing. That is not a footnote. It is the current state of the repository, and it changes what the project is useful for: reading, forking and evaluating, not deploying.

## How the Laravel and Vue stack is put together

The repository is a Laravel application with an Inertia and Vue 3 frontend. The top level shows the usual Laravel skeleton (app/, config/, database/, routes/, artisan, composer.json) alongside a Modules/ directory and a modules_statuses.json file, which points to a modular structure where features live in their own packages rather than in one flat app tree. On the frontend, package.json lists @inertiajs/vue3, vue 3.4, vite 5, Tailwind, chart.js with vue-chartjs for the graphs, papaparse for CSV handling, and zxcvbn for password strength scoring. Inertia means the Vue pages are server-driven rather than a separate SPA calling a JSON API, so routing and authorization stay in Laravel.

Deployment is container-based. The repository ships Dockerfile.php and Dockerfile.node, a docker-compose.yml plus docker-compose.dev.yml, docker-compose.prod.yml, docker-compose.ci.yml and docker-compose.gitpod.yml, and a .infrastructure/ directory that appears to hold persistent volume data. The base docker-compose.yml is nearly empty, defining only a traefik service and a php service that depends on it, so the meaningful configuration is in the environment-specific files. The .env.example points at serversideup/php settings such as SSL_MODE=full and the AUTORUN_ENABLED and AUTORUN_LARAVEL_* toggles, which is the image family the maintainers publish. The default database is SQLite at /var/www/html/.infrastructure/volume_data/database.sqlite.

The last push to the default branch was on 2026-05-10, and the most recent tagged release is v0.2.0-alpha1 from 2024-01-10. The README describes a two-person bootstrapped team funding development through their other products rather than venture capital. Treat the version string as the honest signal: this is alpha software, and the gap between the last tag and the last commit is where the refactor happened.

## Installing Financial Freedom today, and why the README says not to

There is no supported install path right now. The README's caution block explicitly says not to attempt installation until the message is removed, and explains that the refactor left new installs rendering a blank screen. The repository does contain the pieces you would need, so the honest answer is that installation is documented in the repo's own files but currently unsupported by the maintainers.

If you want to understand the intended shape of a deployment, the environment template is the place to look. Copy it and generate an application key:

```bash
cp .env.example .env
php artisan key:generate
```

The template already sets APP_NAME, the SQLite path, and the serversideup/php runtime flags, so the key generation is the one step it tells you to run. Note the registration switch at the bottom of the file:

```
FINANCIAL_FREEDOM_ALLOW_REGISTRATION=false
```

With that value, the instance does not accept new sign-ups, which is the setting you would want for a single-user deployment exposed to the internet. The mail block points at a mailpit host on port 1025, a development convenience rather than a production mail path.

For the frontend, package.json defines exactly two scripts:

```bash
yarn dev
yarn build
```

There is no test script, no lint script and no type-check script in that file, so the frontend toolchain is Vite and nothing more. The compose files are the intended runtime, but the base docker-compose.yml only wires traefik to php, and the README does not walk through bringing the stack up. If you clone this to evaluate it, expect to read docker-compose.prod.yml and the .infrastructure/ directory yourself, and expect the blank screen the maintainers warned about.

## Where Financial Freedom is the wrong tool

The obvious failure mode is the one the maintainers documented: a fresh install that renders nothing. That is a hard stop for anyone whose goal is to track spending this month.

There are quieter problems. The README does not document a migration path, a backup procedure, or an upgrade process between releases, and the only tagged release is an alpha from January 2024. Running a self-hosted finance app without a documented backup routine for the SQLite file is a real risk, and the README is silent on it. The project also depends on bank synchronization to be useful, and the README does not document which providers it uses, what credentials they require, or what happens when a sync fails. Without that, the privacy argument is only half answered: the data lives on your server, but the connection to the bank still crosses a third party.

A single-user household with modest needs is also poorly served by the operational overhead. You are maintaining a Laravel app, a Node build, Traefik, and a database file, in exchange for budgeting features that a spreadsheet covers. If you do not already run containers and read Laravel logs, the maintenance cost will exceed the benefit, especially while the project is paused.

## How it compares with Actual Budget and Firefly III

Actual Budget is the closest comparison and the sharpest contrast. It is also a self-hosted budgeting tool with a local-first design, but it is distributed as a working application with a sync server, so the install path is the product rather than a work in progress. Financial Freedom's approach is a server-rendered Laravel monolith with Inertia and Vue, which means every page is a request to the PHP process and the database is the source of truth. Actual's model keeps the working copy on the client and syncs changes, which is a different answer to the same offline and privacy questions.

Firefly III is the other reference point. It is a PHP application too, but it is built around double-entry accounting and personal finance management rather than the Mint-style budgeting workflow, and it has years of releases behind it. If you want ledger correctness and import rules, Firefly III covers ground Financial Freedom's feature list does not claim. If you want a familiar envelope-budgeting interface you can run yourself, Actual is the one that installs today.

What Financial Freedom offers that neither does is a Laravel codebase with a module system and an Inertia frontend, which is a reasonable starting point if you intend to build on it rather than run it.

## Licence, maintenance and the cost of staying current

The project is GPL-3.0. That matters more here than for a typical web app, because the licence is what protects the fork: if the maintainers never resume, anyone can continue the code under the same terms, and any distributed derivative has to stay open under GPL-3.0. It also means you cannot take this codebase, modify it, and ship it as a closed product. This is a description of the licence text, not legal advice; if you plan to distribute a modified version, read the LICENSE file and get proper counsel.

Maintenance cost is the harder number. The last push to main was on 2026-05-10, which is more than six months before today, and the README states the project is on hold while the team funds development through other products. The upgrade surface is a Laravel application with a Vite frontend, so staying current means tracking Laravel, PHP, Node, Vite, Vue, Tailwind and the serversideup/php image settings in .env.example. None of that is documented as an upgrade procedure. If you fork it, you are adopting the whole dependency tree, and the automations that would normally do that work (the AUTORUN_LARAVEL_* flags in the environment file) are off by default in the template.

## Conclusion

Adopt it only if you are willing to read or fork a Laravel 11-era codebase that the maintainers have paused mid-refactor; anyone who wants a working budget app today should not start here. Before doing anything, open the README and check whether the caution box is still present, then read docs/README.md and .env.example to see what the deployment expects. If the warning is gone, the next thing to verify is that the release process actually produces a usable image, because that is the piece the team said they were building when work stopped.

## FAQ

### Can I install serversideup/financial-freedom right now?

No. The README carries a caution block telling readers not to attempt installation until the message is removed, because a major refactor left new installs showing a blank screen. The maintainers say they were working on the release process before pausing the project.

### What stack does serversideup/financial-freedom use?

It is a Laravel application with an Inertia and Vue 3 frontend built by Vite, Tailwind and chart.js, packaged with Dockerfiles and several docker-compose files. The default database in .env.example is SQLite at /var/www/html/.infrastructure/volume_data/database.sqlite.

### Is serversideup/financial-freedom actively maintained?

The README states the project is on hold while the two-person team self-funds development through other products, and the most recent tagged release is v0.2.0-alpha1 from 2024-01-10. The last push to the default branch was on 2026-05-10.

### What licence is serversideup/financial-freedom released under?

GPL-3.0, per the repository's LICENSE file and the licence badge in the README. That means a modified version you distribute has to remain open under the same terms.

## Sources

- [License: GPL-3.0](https://github.com/serversideup/financial-freedom/blob/main/LICENSE)
- [Project website](https://serversideup.net/open-source/financial-freedom/)
- [README](https://github.com/serversideup/financial-freedom/blob/main/README.md)
- [Releases](https://github.com/serversideup/financial-freedom/releases)
- [serversideup/financial-freedom on GitHub](https://github.com/serversideup/financial-freedom)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/serversideup-financial-freedom
