Configure your installation
The Data Importer communicates with Firefly III over the API.
On this page you will read how to:
- Configure access to the API.
- Configure Nordigen (optional)
- Configure Spectre (optional)
Access to the API
Firefly III URL
First, you must tell the data importer where to reach Firefly III. This is set in the
FIREFLY_III_URL environment variable. REMOVE any trailing slash from the end of the URL.
For Docker, you may be able to use the internal IP address of Firefly III, instead of its public address. But if normal users can't reach this URL, you must also set the
VANITY_URL. Here is an example:
FIREFLY_III_URL=http://172.16.2.2:8080(internal Docker URL)
VANITY_URL=https://money.bill-gates.com(public or local URL)
FIREFLY_III_URL is optional. If you don't set it, the data importer will ask for the URL.
Docker and 127.0.0.1
Docker cannot connect to a Firefly III installation using
http://127.0.0.1 because this address refers to the Docker container itself, and not Firefly III.
To authenticate with Firefly III you must set ONE of the following variables:
- Set a Personal Access Token in the
- OR Set a Client ID in the
Authelia and other tools
Firefly III combined with external identity providers such as Authelia can only handle Personal Access Tokens.
If you wish to use Nordigen, please read about Nordigen first. Then, set the following variables. This is necessary if you wish to connect to your bank through Nordigen.
NORDIGEN_IDis your Nordigen Client ID
NORDIGEN_KEYis your Nordigen Client Secret
- If you set
truethe data importer will only connect to the Nordigen sandbox.
If you wish to use Spectre, please read about Spectre first. Then, set the following variables. This is necessary if you wish to connect to your bank through Spectre.
SPECTRE_APP_IDis your Spectre / Salt Edge Client ID
SPECTRE_SECRETis your Spectre / Salt Edge Client secret
Where to set the configuration?
All the configuration values mentioned on this page are stored in environment variables:
You can use the
.env file to store them, use Docker's
-e flag to set them or use your operating system to set these values. This depends on your installation method, Docker or self-hosted.
You may need to clear your cookies, browse to
/flush or press [Reauthenticate] after changing these values.
How to get these variables?
Personal Access Token
You can generate your own Personal Access Token on the Profile page. Login to your Firefly III instance, go to "Options" > "Profile" > "OAuth" and find "Personal Access Tokens". Create a new Personal Access Token by clicking on "Create New Token". Give it a recognizable name and press "Create". The Personal Access Token is pretty long. Use a tool like Notepad++ or Visual Studio Code to copy-and-paste it.
Client ID + Firefly III URL
You can generate your own client ID on your Profile page (under OAuth). This is the ID you need when you want to share the data importer with multiple people, or when you want to allow others to use the same instance of the data importer.
Uncheck the "confidential" checkbox.
It is very important that the callback URL is correct. The callback is the following:
Some common examples include:
- http://172.16.0.2/callback (172.16 is a common IP range for Docker hosts)
- https://data-importer.home/callback (Some users have fancy local addresses. Notice the TLS)
- http://10.0.0.15/callback (10.0.0.x is often used when using Vagrant)
But ALWAYS add
/callback or you'll run into weird errors later.