mirror of
https://github.com/Zproger/Aurum.git
synced 2026-10-13 02:56:39 +07:00
Track individual coins (identity + quantity) in a dedicated tab, backed by CoinGecko's Demo API (AURUM_COINGECKO_API_KEY). A holding is just another Asset under the hood (asset_class=crypto) with its value written as a regular AssetValuation — the existing Net Worth aggregation needs zero changes to pick it up. Prices never refresh in the background (no scheduler in this stack, same reasoning as recurring transactions): a "Refresh prices" button forces a sync, and GET /crypto/holdings lazily re-syncs at most once every 24h. CoinGecko outages leave existing values untouched (error_key: "unreachable") instead of failing the request. Backup/restore now carries CryptoHolding rows too, so a restore doesn't silently strip a holding's coin identity. Backend: 75/75 tests passing (9 new), including a real identity-map staleness bug the tests caught in the raw-Core-upsert + ORM re-read pattern, fixed via populate_existing=True. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01855PiW5Wd8n4aRW4n9kByY
34 lines
1.3 KiB
Plaintext
34 lines
1.3 KiB
Plaintext
# Copy this file to .env and adjust values before running `docker compose up`.
|
|
|
|
# --- Postgres ---
|
|
AURUM_POSTGRES_USER=aurum
|
|
AURUM_POSTGRES_PASSWORD=change-me
|
|
AURUM_POSTGRES_DB=aurum
|
|
AURUM_POSTGRES_HOST=db
|
|
AURUM_POSTGRES_PORT=5432
|
|
|
|
# --- Backend ---
|
|
# Comma-separated list of allowed origins, or * for any (fine for local self-hosting).
|
|
AURUM_CORS_ORIGINS=*
|
|
AURUM_DEFAULT_CURRENCY=USD
|
|
|
|
# --- Crypto tab (live prices via CoinGecko) ---
|
|
# Free Demo API key, no card required: coingecko.com/en/api/pricing. Leave
|
|
# blank and the Crypto tab's price sync just 400s with a message telling
|
|
# you to set this — nothing else in the app is affected.
|
|
AURUM_COINGECKO_API_KEY=
|
|
|
|
# --- Basic auth (STRONGLY recommended if this instance is reachable from
|
|
# anywhere other than your own machine) ---
|
|
# Aurum has no login system of its own — it's built for one person
|
|
# self-hosting their own private instance, not a multi-tenant service.
|
|
# Leave both blank and there is NO password on this app at all: anyone who
|
|
# can reach it can read, edit, and delete every transaction, account, and
|
|
# asset. Set both to put an HTTP Basic Auth prompt in front of the whole
|
|
# app (UI + API). See frontend/docker-entrypoint.d/20-basic-auth.sh.
|
|
AURUM_BASIC_AUTH_USER=
|
|
AURUM_BASIC_AUTH_PASSWORD=
|
|
|
|
# --- Ports exposed on your host machine ---
|
|
AURUM_WEB_PORT=3000
|