Introduction

Smerio is a self-hosted personal finance application focused on privacy and multi-user collaboration. Unlike SaaS tools, Smerio is designed to be run on your own infrastructure using Docker.


Installation & Deployment

This guide explains how to deploy Smerio using the universal deployment script.

Directory Structure

  • Install/: Contains deployment scripts (deploy.sh) and configuration.
  • Install/.env: Deployment configuration (VPS IPs, Registry, etc).
  • Install/demo.db: Database snapshot for Demo mode.
Requirement: You need Docker and a Unix-like environment (Linux/macOS) to run the scripts.

Step 1: Configuration

1. Copy the template configuration:

cp Install/.env.template Install/.env

2. Edit Install/.env with your details (Required for Remote deployment).

Step 2: Deployment

Run the universal script:

./Install/deploy.sh

Interactive Options:

  • Target: Choose Local (Docker Compose) or Remote (VPS).
  • Mode: Choose Production, Demo (resets every 60m), or Debug.

Remote Behavior

When deploying to a VPS (Remote), the script will:

  • Pull your configured Docker image.
  • Configure Nginx and SSL (Certbot) automatically.
  • Secure the admin panel (block direct access to /_/).

First Steps

  • Create Admin Account: The first time you load the page, you will be prompted to create your admin login.
  • Define Your Base Currency: In Settings, choose the primary currency you use for reporting (e.g., EUR, USD, RSD).
  • Add Your First Asset: Go to the "Wealth" tab and click "Add Asset." Try adding your "Cash Wallet" or "Bank Account."

FAQ

Is my data encrypted?
Smerio relies on your server's security. For maximum protection, we recommend running Smerio behind a reverse proxy (like Nginx or Caddy) with HTTPS enabled.
How do I backup my data?
All your data is stored in the pb_data folder. Simply copy this folder to a safe location to create a full backup.

Application Reference

Dashboard

This is your financial command center. It aggregates data from all your Accounts, Transactions, and Portfolio assets.

Key Metrics:

  • Net Worth: Total Assets - Debts.
  • Cashflow (YTD): Total Income minus Total Expenses for the current year.
  • Portfolio: Brokerage and Crypto holdings.

Wealth & Accounts

Your net worth is split into Assets (what you own) and Debts (what you owe).

Field Descriptions

FieldDescription
ClassAsset or Debt (Loan)?
NameCustom display name.
TypeCategory (Bank, Car, Crypto, etc).
BalanceCurrent funds. for Brokerage/Crypto, leave as 0 to auto-calculate.
StatusAccount Status (Active/Archived).
CurThe currency of the account.
SourceThe financial institution holding the asset/debt (e.g., Bank of America).
Assigned toThe internal owner of the asset/debt. Use a personal name or a group name.
PurposeThe primary goal for this asset/debt (e.g., Spending, Emergency Fund, Education).

Transactions

Managing Records

  • Add: Click "Add Transaction" to record a new income or expense.
  • Edit: Click the pencil icon to modify a record.
  • Duplicate: Click the file icon to copy a transaction.
  • Delete: Click the trash icon to remove a record.

Filtering & Exporting

  • Filter: Use the "Filters" section to search by date, type, category, or amount.
  • Export: Click "Export CSV" to download your filtered results for external analysis.

Tips

  • Use Envelopes for budgeting expenses.
  • Use Subcategories for detailed tracking.
  • Smart Suggestions: The app learns your category associations over time.

Field Descriptions (Transactions)

FieldDescription
Envelope (Expense)The budget category (e.g., Groceries, Rent).
Subcategory (Expense)Specific details (e.g., Shop Name, Item).
Payee (Income)Person, breadwinner or employer name.
Source (Income)Company name, type of work (freelance), gifts, or other income.
DateDate of the transaction.
AmountThe value of the transaction.
CurrencyEnter the currency you actually spent. It will be converted to your base currency.
Amount (Base)The value in your main currency. You can manually override this.

Portfolio

Purpose & Accounts

This page tracks your investment holdings (Stocks, ETFs, Crypto). Each asset is linked to a specific Account (e.g., "Brokerage"). The total value shown here contributes to your Net Worth on the Dashboard.

Calculations

  • Value: Calculated as Quantity × Current Price.
  • Avg Price: The weighted average cost you paid per share.
  • Result: Calculated as (Current Price - Avg Price) × Quantity.

Updating Prices

Click Update Prices to fetch the latest market data for all your tickers. This ensures your Portfolio Value and Net Worth are always up to date.

Field Descriptions (Assets)

FieldDescription
Ticker SymbolUse Yahoo Finance symbols (e.g. AAPL).
QuantityNumber of shares or units held.
Current PriceOptional. We will try to update this value when you press "Update Prices".
Linked AccountThe value of this asset will contribute to this account's balance.

Envelope Planning

Purpose

This page helps you compare your Planned Budget against your Actual Spending for the current month. Use it to stay on track and adjust your habits.

Planning Expenses

  • Set Budget: Enter your target amount in the "Planned" column for each envelope.
  • Save: Click the floppy disk icon to save your budget.
  • Auto-Add: New envelopes appear automatically when you categorize transactions in the Transactions page.

Interpreting Results

  • Actual: Total spending in this envelope for the current month.
  • Avg (6m): Your average monthly spending over the last 6 months (for reference).
  • Remaining %: Cyan (Under Budget), Pink (Over Budget).

Settings

General Settings

Set your Main Currency (e.g., USD, EUR). This is the currency used for all total calculations and reports. Changing this will trigger a recalculation of all historical data.

Global Lists

Manage your categories (Envelopes, Sources, Payees). You can Rename items or Transfer transactions from one category to another (merging them).

Component Descriptions (Category Lists)

FeatureDescription
Usage CountShows how many times this category is used in transactions.
Transfer TransactionsMove all transactions from this category to another one before deleting.
RenameModify the category name.
DeleteRemove the category (disabled if in use).

Data Management

  • Export: Download a full JSON backup of your data.
  • Restore: Restore your data from a backup file.
  • Import CSV: Bulk import transactions from a CSV file.

Specific Settings

  • Main Currency: Changing this will recalculate the Base Amount for ALL historical transactions.
  • AI Provider: Select the AI service provider you want to use.
  • Passkeys: Login securely without a password using your device (FaceID, TouchID, etc). Note: You must enable 2FA first.