omarahm / ynabber

Ynabber reads transactions from one or more places and push them into YNAB

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ynabber

Ynabber reads transactions from one or more places and push them into YNAB.

Installation

Install Go and run go install to install:

go install github.com/martinohansen/ynabber/cmd/ynabber@latest

Usage

Ynabber is configured with environment variables, for example reading from Nordigen requires these:

cat <<EOT >> ynabber.env
# YNAB
YNAB_BUDGETID=<budget_id>
YNAB_TOKEN=<account token>

# Nordigen
NORDIGEN_ACCOUNTMAP={"<nordigen account id>": "<ynab account id>"}
NORDIGEN_BANKID=<nordigen bankd id>
NORDIGEN_SECRET_ID=<nordigen secret id>
NORDIGEN_SECRET_KEY=<nordigen secret key>
EOT

All valid config options can be found here.

Run local:

# Read environment variables from file and run ynabber
declare $(cat ynabber.env); ynabber

Or with Docker:

docker run --env-file=ynabber.env ghcr.io/martinohansen/ynabber:latest

# To keep data persistent
docker run \
    --volume ${PWD}:/data \
    --env 'YNABBER_DATADIR=/data' \
    --env-file=ynabber.env \
    ghcr.io/martinohansen/ynabber:latest

Or deploying to Kubernetes with kubectl:

kubectl create configmap ynabber-env --from-env-file=ynabber.env
kubectl apply -f kubernetes.yaml

Contributing

Pull requests are welcome.

About

Ynabber reads transactions from one or more places and push them into YNAB

License:GNU General Public License v3.0


Languages

Language:Go 98.7%Language:Dockerfile 1.2%Language:HTML 0.1%