Arca

Arca

Docker app from damianeickhoff's Repository

Overview

Arca is a self-hosted personal finance dashboard for tracking income, expenses, budgets, subscriptions, and financial goals.

Arca

A calm, self-hosted personal finance app.
Know what's safe to spend, what's coming up, and where your money went, with your data on your own server.

Release Docker pulls Documentation

πŸ“– Documentation: install, first run, bank connection, budgets and more, in plain language.

Updates are safe to take. Arca backs up its database before the first start on every new version and keeps the last five copies in /data/backups. The database is brought up to date by itself; a breaking change only ever comes with a new major version and says so in the release notes.

πŸ“Έ Screenshots

Arca Home: safe to spend, income and spending, the budget and money flow
Home: what's safe to spend, this month's money in and out, and the budget at a glance

Activity
Activity: every transaction, searchable and grouped by day
Budget
Plan: the budget per category, with needs, wants and savings
Insights overview
Insights: any period in numbers, categories and merchants
Cash-flow forecast
Forecast: where your balance goes over the next 30 days

Arca on a phone, light theme Β Β  Arca on a phone, dark theme
On your phone, in light and dark

Screenshots use the built-in demo data.

✨ Features

See where you stand

  • Home: what's safe to spend today, what's coming up, money in versus out, your net worth, and all your accounts at a glance.
  • Insights: an overview of any period, trends per category and group, net worth over time, a financial health score, and a cash-flow forecast that warns before you run short.

Keep track without the busywork

  • CSV import for ING, Rabobank, ABN AMRO, bunq, Knab and Revolut out of the box, plus a column mapper for any other bank (remembered for next time).
  • Needs a category: sort uncategorised transactions one by one, and turn each answer into a rule so the list stays short.
  • Activity: search, filters, bulk edits, split transactions, receipts, shared costs and transfers between your own accounts.
  • Merchants with logos, friendly names and category groups (Housing, Transport, …).

Plan ahead

  • Budget: an overall or per-category budget with a needs / wants / savings strategy.
  • Recurring: bills, subscriptions, income and savings, matched to transactions automatically, with an Upcoming calendar.
  • Payment plans: pay one cost in parts (the dentist in three instalments); each part counts in the month it's due.
  • Debts: what you owe and what you're owed, with a payoff simulator.
  • Goals: savings goals with contributions and suggestions.
  • Overdraft limits per bank account; you choose whether the overdraft counts as money you can spend.

Optional AI (Gemini, free tier)

  • Category suggestions in Needs a category, and a short written summary of any period on Insights.
  • Off until you add your own API key. Only merchant names, amounts, dates and category names are sent, never account numbers.

Yours

  • Self-hosted: one SQLite file in /data, no cloud account. Settings β€Ί About lists every connection Arca can make (bank, AI, receipts, map) and shows the release notes offline; there is no telemetry and no update check.
  • Backups: a copy of the database before every update, plus manual backups you can download, all in Settings β€Ί Data health.
  • Several users, two-factor sign-in, an app lock (PIN or passkey) and a privacy mode that hides amounts.
  • Light and dark theme, English and Dutch, works on desktop and phone, installable as an app (PWA).

πŸš€ Getting started

Docker

docker run -d \
  --name arca \
  -p 3000:3000 \
  -v /path/to/arca-data:/data \
  --restart unless-stopped \
  damianeickhoff/arca:latest

Open http://localhost:3000. The first start creates the database and opens the onboarding.

Docker Compose

services:
  arca:
    image: damianeickhoff/arca:latest
    container_name: arca
    ports:
      - "3000:3000"
    volumes:
      - ./data:/data
    environment:
      # Set to "true" only behind a reverse proxy that serves HTTPS.
      - COOKIE_SECURE=false
    restart: unless-stopped

Unraid

Use the template in unraid/arca.xml: copy it to /boot/config/plugins/dockerMan/templates-user/, then Docker β†’ Add Container β†’ Template β†’ User templates β†’ Arca. Map /data to /mnt/user/appdata/arca.

Your data

Everything lives in /data: the SQLite database (finance.db), uploaded logos, avatars and receipts, and the backups/ folder with the copies Arca makes before updates. Back up that folder; nothing else needs to persist.

πŸ”„ Updating

Images are published to Docker Hub (and mirrored to ghcr.io/damianeickhoff/arca):

Tag What it is
latest The current release (the master branch)
v1.3.0, … A specific release
<branch> A test build of a branch, never latest
docker pull damianeickhoff/arca:latest

Then recreate the container, keeping /data. On the first start of a new version Arca copies the database to /data/backups/, then adds any new tables and columns by itself. On Unraid, Check for updates in the Docker tab picks up a new latest. What changed is in Settings β€Ί About and in CHANGELOG.md.

πŸ†˜ Support

Start with the user guide: it covers installing and updating, every page of the app, and common questions. See the roadmap for what's coming.

Issues and feature requests: https://github.com/damianeickhoff/Arca/issues

πŸ“„ License

Arca is free software under the GNU Affero General Public License v3.0. You may run it, study it, change it and share it. If you distribute a changed version, or run one as a service for others, you must share your changes under the same licence. Running it at home for yourself and your household carries no obligation at all.

Categories

Download Statistics

1,222
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
damianeickhoff/arca:latest
Last Updated2026-08-03
First Seen2026-07-24

Runtime arguments

Web UI
http://[IP]:[PORT:3000]
Network
bridge
Extra Params
--restart unless-stopped

Template configuration

Web InterfacePorttcp

Arca web interface port

Target
3000
Default
3000
DataPathrw

Persistent storage for Arca database

Target
/data
Default
/mnt/user/appdata/arca