Sign inSign up

manjurn/nestivesh

By manjurn

โ€ขUpdated about 4 hours ago

Image
Buildkit cache
0

7.8K

manjurn/nestivesh repository overview

Nestivesh

โ Nestivesh

A self-hosted investment tracker for a portfolio that does not fit in one country. Indian stocks and mutual funds, global stocks and ETFs, fixed deposits and bank balances across India, Singapore and Australia, all valued into one base currency, with the exchange rate shown next to every figure it touched.

Get startedโ  ยท Put it on a domainโ  ยท Documentationโ 

โ Install in a minute

Nestivesh ships as one Docker image, manjurn/nestivesh (linux/amd64 and linux/arm64). One container serves the web app and the API on port 8080.

# docker-compose.yml
services:
  nestivesh:
    image: manjurn/nestivesh:latest
    container_name: nestivesh
    restart: unless-stopped
    ports:
      - '8080:8080'
    volumes:
      - ./data:/data
      - ./uploads:/uploads
    environment:
      NESTIVESH_UPLOADS_DIR: /uploads
mkdir -p data uploads && sudo chown -R 1001:1001 data uploads   # the container runs as uid 1001
docker compose up -d

Open http://<server>:8080 and create the administrator. The full, commented file and walkthrough: Installationโ . For anything beyond your own machine, put it behind Traefik or Caddy on a proper domainโ .

๐Ÿ“ฆ Installationโ Docker Compose with bind mounts for /data and /uploads
๐Ÿ” Reverse proxy and HTTPSโ Traefik or Caddy, a real domain, automatic certificates
๐Ÿš€ First runโ Administrator, first user, first import
๐Ÿ“„ Importing spreadsheetsโ Tradebooks, CAS statements, deposits and balances
๐Ÿ’ฑ Forexโ Feed rates, margins and manual overrides
๐Ÿ‘ฅ Accounts and accessโ Users, the administrator and export accounts
โฐ Scheduled refreshโ Prices, NAVs and rates every weeknight
๐Ÿ’พ Backup and restoreโ What to copy, and how to copy it safely
๐Ÿงฉ REST APIโ Everything the UI does, from a script
๐Ÿค– MCP serverโ Nestivesh as tools for Claude, an IDE or n8n
โš™๏ธ Configurationโ Every environment variable
โ“ FAQ and limitationsโ What it will not do, and why

โ Key features

Indian stocks and mutual funds. Upload a broker tradebook or a registrar statement and the holdings appear. FIFO cost basis by default (the Indian statutory method), weighted average if you prefer. Fund NAVs come from AMFI's official daily feed, with ten years of history backfilled, so a fund's chart is its real NAV line with your purchases marked on it.

Look inside your funds. The same bank usually sits inside several of your funds. Nestivesh weights each fund's latest portfolio disclosure by what your units are worth today and combines them, so a stock held by five funds shows once, with the five contributions behind it. ETFs are opened up the same way.

Global stocks and ETFs. Every trade carries its own currency, so US, Australian, Singaporean and UK trades live in one file. Each holding shows the native figure, the base-currency figure, and the rate that converted it.

Honest forex. Provider rates are stored exactly as fetched. On top of them you set a percentage margin, an absolute margin or a manual rate per pair, and the app shows feed rate, adjustment and effective rate side by side.

Deposits and cash. Indian FDs and RDs, Singapore fixed deposits and Australian term deposits, each with the compounding its bank actually uses. Bank balances are snapshots, and anything older than 30 days is flagged as stale.

One number for all of it. The dashboard converts everything into your base currency and lists what it had to assume: missing rates, missing prices, stale balances.

Multi-user and private. Each portfolio belongs to its owner. The administrator decides who gets in but cannot see anyone's records.

The API is the product. The browser uses the same REST API you can, and the same API is an MCP server for AI assistants.

Note: Nestivesh is not investment advice. Prices and rates are indicative and may be delayed.

Tag summary

Content type

Image

Digest

sha256:2fbabd287โ€ฆ

Size

47.8 MB

Last updated

about 4 hours ago

docker pull manjurn/nestivesh