Importers?
-
I have opened up a request to get Spectre importer added as an app, please up vote if your still interested in that feature.
-
The Firefly III Data Importer does not require any authentication to use. This means anyone with the URL can start importing CSV files.
I run the
fireflyiii/data-importer
container on a separate server with Traefik as the reverse proxy and Authelia (for ForwardAuth) to force logging in. This is probably overkill for a single user and why I recommend just running this from your workstation. Docker and docker-compose need to be installed.Copy the docker-compose yaml below and enter your environment variables. Save it in a folder on your workstation.
docker-compose.yml:
version: '3' services: app: image: fireflyiii/data-importer:latest container_name: firefly-iii-data-importer restart: unless-stopped environment: # See https://docs.firefly-iii.org/data-importer/install/configure/ - FIREFLY_III_URL=https://sub.domain.tld - VANITY_URL=https://sub.domain.tld - FIREFLY_III_ACCESS_TOKEN=ey........... #- FIREFLY_III_CLIENT_ID= #- NORDIGEN_ID= #- NORDIGEN_KEY= #- SPECTRE_APP_ID= #- SPECTRE_SECRET= ports: - 8081:8080
Once you've modified the file with all of your environment variables you just need to navigate to the folder containing the docker-compose file in a terminal and run
docker-compose up -d
. This will start the container in detached mode. Once it is up and running you can access the data-importer at http://localhost:8081/When you're done importing you can go back to the directory with the docker-compose file and run
docker-compose down
to stop the container.I can share my Traefik labels for anyone interested in setting up Forward Auth through Authelia.
Hope this helps!
-
@colonelpanic Thank you!! Is there a way to schedule it to run daily or something to pull the data?
-
@jagadeesh-s2104 - Great question. It looks you can map a volume between the docker container and the host. So anything you put in that folder would be picked up and imported. Here is an updated docker-compose with the volume section in the yaml:
version: '3' services: app: image: fireflyiii/data-importer:latest container_name: firefly-iii-data-importer restart: unless-stopped environment: # See https://docs.firefly-iii.org/data-importer/install/configure/ - FIREFLY_III_URL=https://sub.domain.tld - VANITY_URL=https://sub.domain.tld - FIREFLY_III_ACCESS_TOKEN=ey........... volumes: - /home/colonelpanic/fireflyiii-importer/csvdrop:/import ports: - 8081:8080
This option is outlined in their docs here - https://docs.firefly-iii.org/data-importer/usage/command_line/
It looks like you could also setup a cron job that use a POST request. Docs on that here - https://docs.firefly-iii.org/data-importer/usage/post/
-
@colonelpanic thank you!!