rotki logo

rotki

Privacy-focused, self-hosted crypto and financial portfolio tracker with accounting and tax reports

Alternative to: cointracker, koinly, coinstats, delta investment tracker


rotki is an open-source, self-hosted portfolio management tool that puts privacy first. Unlike closed-source SaaS platforms that require handing over sensitive financial data, rotki keeps data encrypted and stored locally, tracking balances across exchanges, wallets, and blockchains, decoding DeFi and on-chain transactions, and generating profit/loss and tax accounting reports.

rotki Docker Compose example

Self-host rotki on your own server, homelab, or VPS starting from this Docker Compose example. It runs rotki in Docker containers using the official rotki/rotki:latest image, with persistent volumes and automatic restarts preconfigured. Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.

services:
  rotki:
    image: rotki/rotki:latest
    volumes:
      - data:/data
      - logs:/logs
    restart: unless-stopped
    environment:
      # Container timezone. Affects timestamps in logs and reports.
      TZ: "UTC"
      # Logging verbosity. One of: debug, info, warning, error, critical.
      LOGLEVEL: "info"
      # Whether to also log messages from third-party modules/dependencies (true/false).
      LOGFROMOTHERMODULES: "false"
      # Maximum combined size in MB of all log files before rotation.
      MAX_SIZE_IN_MB_ALL_LOGS: "300"
      # Maximum number of rotated log files to keep.
      MAX_LOGFILES_NUM: "3"
      # Number of SQLite instructions between context switches (advanced tuning).
      SQLITE_INSTRUCTIONS: "5000"

volumes:
  data:
  logs:

Prefer a managed setup? WinterFlow installs, configures, and updates rotki for you using this same Docker Compose configuration.