Installation Manual
This is installation manual for tackler command line.
To use tackler cli you will need
-
Tackler command line binary
-
Valid configuration file (tackler.toml)
To build the tackler binary, you need to have Rust toolchain installed.
Build and install with Cargo
cargo install tackler
It will make the tackler command globally available, if you’ve allowed Rust toolchain installation to modify your PATH. If not, the binary is located at CARGO_HOME/bin
, that’s typically ~/.cargo/bin/tackler
on MacOS and Linux, and C:\Users\<UserName>\.cargo\bin
on Windows.
You can uninstall tackler by running cargo uninstall tackler
.
Build from source
# Get the source code
git clone --recurse-submodules https://github.com/e257-fi/tackler-ng
cd tackler-ng
# Check the releases
git tag -l
# Select the latest release, e.g. v24.12.1
git checkout v24.12.1
# Build the tackler
cargo build --release --locked --bin tackler
# Check the version info
target/release/tackler --version
tackler 24.12.1 (v24.12.1 - 45f86471a16f414)
Minimal setup
Minimal initial installation and setup is described in Quickstart Guide.
Tackler could be used with minimal quickstart setup just fine, but to get most out of it (strict modes, git storage system, Audit trail functinality etc.), it must be configured properly. Below is recommended setup for production use.
Recommended Setup and layout
Recommended layout and setup (the "installation") would be:
. ├── bin │ └── tackler └── journal ├── conf │ ├── tackler.toml │ ├── accounts.toml │ ├── commodities.toml │ └── tags.toml └── txns ├── ... ├── 2020 │ ├── ... │ └── 12 │ ├── journal-1.txn │ └── journal-2.txn └── 2021 └── 01 ├── journal-1.txn └── journal-2.txn
This setup uses year/month based sharding for transactions (the directory structure under txns
). It’s up to for each
system to decide which is the best way to shard transaction data, or not to shard transactions at all.
Configuration Settings for Recommended Layout
Provide path to configuration with --config
option.
tackler.toml
The tackler main onfiguration is file located under conf:
[input]
storage = "fs"
[fs]
dir = "../txns"
ext = "txn"
...
[transaction]
accounts = { path = "accounts.toml" }
commodities = { path = "commodities.toml" }
tags = { path = "tags.toml" }
This setup makes it possible to separate journal setup and data, and store relevant configuration next to transaction data (and possibly under version control).
See Configuration Example: fs or git how combine git based transaction storage with this setup.
accounts.toml
If there is missing or mistyped account, that will cause an error and tackler will stop processing journal. See accounts.toml for full documentation of Chart of Accounts and commodity listing.
commodities.toml
If there is missing or mistyped commodities, that will cause an error and tackler will stop processing journal. See commodities.toml for full documentation of Chart of Accounts and commodity listing.
tags.toml
If there is missing or mistyped tag, that will cause an error and tackler will stop processing journal. See tags.toml for full documentation of Chart of Tags.
Next steps
See reference configuration files for full details:
Git Storage Guide has information how to use integrated version control features with Tackler.
Git and filesystem based production setup is described in Configuration Example
Transaction Data Sharding has ideas for different storage schemes.