Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Firefly III
  3. Data Importer Tool

Data Importer Tool

Scheduled Pinned Locked Moved Unsolved Firefly III
20 Posts 6 Posters 2.4k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • girishG Offline
    girishG Offline
    girish
    Staff
    wrote on last edited by
    #2

    @JLX89 We haven't looked into it but it seems like you can install this on the LAMP app - https://docs.firefly-iii.org/data-importer/installation/self-hosted/

    1 Reply Last reply
    1
    • J Offline
      J Offline
      JLX89
      wrote on last edited by
      #3

      Yeah, I'm seeing that now -- will give it a shot and report back with directions.

      1 Reply Last reply
      1
      • J Offline
        J Offline
        JLX89
        wrote on last edited by
        #4

        So I've got this running in a LAMP App, but there are some scenarios to keep in mind:

        • Both services listed for the "automation" portion of imports (Spectre and Nordigen/ seem to be most other countries, except the United States

        • There doesn't seem to be an authentication gateway to prevent "public" access and your Personal Access Token is embedded in the .env file.

        @girish, @nebulon or others might be able to provide more information if we can place the Cloudron Auth gateway similar to what is used for the Firefly App.

        NOTE: This was a quick run at getting this up and running, so ensure you review your configuration properly.


        Instructions for Installing the Data Importer Application

        1. Install a fresh LAMP App from the Cloudron Store.

          • I typically disable indexing via App > Security.
        2. Open the file manager and open the PHP_VERSION file and change the value to PHP 8.2:

        ; Set the desired PHP version in this file
        ; Restart app for changes to take effect
        PHP_VERSION=8.2
        
        1. Save your file and restart the LAMP App.
        2. Launch the terminal and complete the following commands:
        cd /app/data/
        composer create-project firefly-iii/data-importer
        
        1. Stay in the Terminal and next you'll want to make sure the permissions are correct by running the following commands:
        sudo chown -R www-data:www-data /app/data/data-importer
        sudo chmod -R 775 /app/data/data-importer/storage
        
        1. Next, you're going to need to update your Apache configuration to point from the default /app/data/public/ folder to /app/data/data-importer/public/. Open /app/data/apache/app.conf and update the following lines:

        FROM
        Find the lines that have the previous public route of /app/data/public and change them to /app/data/data-importer/public.

        • For good measure, I would disable phpMyAdmin also in the apache.conf file:
          # Include "/app/code/apache/phpmyadmin.conf"
        1. Restart the LAMP App

        2. Launch the file manager and go to /app/data/data-importer and open the .env file and update the file as required.

          • Sample .env: Link to copy of sample env. You can also find the values required to be changed below.
          • Personal Access Token: You're going to need to generate a Personal Access Token from Firefly at: https://firefly.domain.tld/profile > OAUTH > Personal Token
        FIREFLY_III_URL={https://firefly.domain.tld}
        VANITY_URL={https://firefly.domain.tld}
        FIREFLY_III_ACCESS_TOKEN={ACCESS-TOKEN}
        AUTO_IMPORT_SECRET={GENERATED_SECRET}
        TZ={America/New_York}
        ENABLE_MAIL_REPORT=false
        MAIL_DESTINATION={EMAIL-ADDRESS}
        MAIL_FROM_ADDRESS=getenv('CLOUDRON_MAIL_FROM')
        MAIL_HOST=getenv('CLOUDRON_MAIL_SMTP_SERVER')
        MAIL_PORT=getenv('CLOUDRON_MAIL_SMTP_PORT') 
        MAIL_USERNAME=getenv('CLOUDRON_MAIL_SMTP_USERNAME')
        MAIL_PASSWORD=getenv('CLOUDRON_MAIL_SMTP_PASSWORD')
        MAIL_ENCRYPTION=null
        REDIS_HOST=getenv('CLOUDRON_REDIS_HOST')
        REDIS_PASSWORD=etenv('CLOUDRON_REDIS_PASSWORD')
        REDIS_PORT=getenv('CLOUDRON_REDIS_PORT')
        
        1. Restart the LAMP App and you can access the interface at: https://firefly-importer.domain.tld

        If anyone has any feedback or sees that I missed anything please let me know.

        Thanks!

        girishG C 2 Replies Last reply
        3
        • J JLX89

          So I've got this running in a LAMP App, but there are some scenarios to keep in mind:

          • Both services listed for the "automation" portion of imports (Spectre and Nordigen/ seem to be most other countries, except the United States

          • There doesn't seem to be an authentication gateway to prevent "public" access and your Personal Access Token is embedded in the .env file.

          @girish, @nebulon or others might be able to provide more information if we can place the Cloudron Auth gateway similar to what is used for the Firefly App.

          NOTE: This was a quick run at getting this up and running, so ensure you review your configuration properly.


          Instructions for Installing the Data Importer Application

          1. Install a fresh LAMP App from the Cloudron Store.

            • I typically disable indexing via App > Security.
          2. Open the file manager and open the PHP_VERSION file and change the value to PHP 8.2:

          ; Set the desired PHP version in this file
          ; Restart app for changes to take effect
          PHP_VERSION=8.2
          
          1. Save your file and restart the LAMP App.
          2. Launch the terminal and complete the following commands:
          cd /app/data/
          composer create-project firefly-iii/data-importer
          
          1. Stay in the Terminal and next you'll want to make sure the permissions are correct by running the following commands:
          sudo chown -R www-data:www-data /app/data/data-importer
          sudo chmod -R 775 /app/data/data-importer/storage
          
          1. Next, you're going to need to update your Apache configuration to point from the default /app/data/public/ folder to /app/data/data-importer/public/. Open /app/data/apache/app.conf and update the following lines:

          FROM
          Find the lines that have the previous public route of /app/data/public and change them to /app/data/data-importer/public.

          • For good measure, I would disable phpMyAdmin also in the apache.conf file:
            # Include "/app/code/apache/phpmyadmin.conf"
          1. Restart the LAMP App

          2. Launch the file manager and go to /app/data/data-importer and open the .env file and update the file as required.

            • Sample .env: Link to copy of sample env. You can also find the values required to be changed below.
            • Personal Access Token: You're going to need to generate a Personal Access Token from Firefly at: https://firefly.domain.tld/profile > OAUTH > Personal Token
          FIREFLY_III_URL={https://firefly.domain.tld}
          VANITY_URL={https://firefly.domain.tld}
          FIREFLY_III_ACCESS_TOKEN={ACCESS-TOKEN}
          AUTO_IMPORT_SECRET={GENERATED_SECRET}
          TZ={America/New_York}
          ENABLE_MAIL_REPORT=false
          MAIL_DESTINATION={EMAIL-ADDRESS}
          MAIL_FROM_ADDRESS=getenv('CLOUDRON_MAIL_FROM')
          MAIL_HOST=getenv('CLOUDRON_MAIL_SMTP_SERVER')
          MAIL_PORT=getenv('CLOUDRON_MAIL_SMTP_PORT') 
          MAIL_USERNAME=getenv('CLOUDRON_MAIL_SMTP_USERNAME')
          MAIL_PASSWORD=getenv('CLOUDRON_MAIL_SMTP_PASSWORD')
          MAIL_ENCRYPTION=null
          REDIS_HOST=getenv('CLOUDRON_REDIS_HOST')
          REDIS_PASSWORD=etenv('CLOUDRON_REDIS_PASSWORD')
          REDIS_PORT=getenv('CLOUDRON_REDIS_PORT')
          
          1. Restart the LAMP App and you can access the interface at: https://firefly-importer.domain.tld

          If anyone has any feedback or sees that I missed anything please let me know.

          Thanks!

          girishG Offline
          girishG Offline
          girish
          Staff
          wrote on last edited by
          #5

          @JLX89 said in Data Importer Tool:

          There doesn't seem to be an authentication gateway to prevent "public" access and your Personal Access Token is embedded in the .env file.

          How is this usually done upstream? Note that you have access to the htaccess file, so you can put an basic auth guard in place.

          J 1 Reply Last reply
          0
          • girishG girish

            @JLX89 said in Data Importer Tool:

            There doesn't seem to be an authentication gateway to prevent "public" access and your Personal Access Token is embedded in the .env file.

            How is this usually done upstream? Note that you have access to the htaccess file, so you can put an basic auth guard in place.

            J Offline
            J Offline
            JLX89
            wrote on last edited by
            #6

            @girish I didn't actually see much mentioned about how it's completed upstream. There is a public instance setup run by Firefly. I ended up going the .htaccess route and need to finish a few other configuration items to ensure the .htaccess hasn't interfered with anything.

            robiR 1 Reply Last reply
            0
            • J JLX89

              @girish I didn't actually see much mentioned about how it's completed upstream. There is a public instance setup run by Firefly. I ended up going the .htaccess route and need to finish a few other configuration items to ensure the .htaccess hasn't interfered with anything.

              robiR Offline
              robiR Offline
              robi
              wrote on last edited by
              #7

              @JLX89 NIce, when you're done, please post the contents of the .htaccess config for future readers.

              Conscious tech

              J 1 Reply Last reply
              0
              • robiR robi

                @JLX89 NIce, when you're done, please post the contents of the .htaccess config for future readers.

                J Offline
                J Offline
                JLX89
                wrote on last edited by JLX89
                #8

                @robi Sorry for the delay on this! I ended up going the .htaccess / .htpassd route to secure it for the time being.

                It would be great if we could use the proxyAuth option and use that as a "drop in" for a LAMP stack.

                robiR 1 Reply Last reply
                0
                • J JLX89

                  @robi Sorry for the delay on this! I ended up going the .htaccess / .htpassd route to secure it for the time being.

                  It would be great if we could use the proxyAuth option and use that as a "drop in" for a LAMP stack.

                  robiR Offline
                  robiR Offline
                  robi
                  wrote on last edited by
                  #9

                  @JLX89 and the contents of .htaccess?

                  Conscious tech

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    JLX89
                    wrote on last edited by
                    #10

                    I'm using pretty much the standard, the default .htaccess that comes with the data-importer tool, and the generated .htpasswd file I created. I've just added the below. Just update the # Whitelist API Requests line with API requests from the services you're using with the data-import tool.

                    # Password Protect Entire Directory
                    AuthName "Restricted Access" 
                    AuthType Basic 
                    AuthUserFile /path/to/.htpasswd 
                    require valid-user
                    # Whitelist API Requests
                    Allow from api.domain.com
                    
                    1 Reply Last reply
                    3
                    • J JLX89

                      So I've got this running in a LAMP App, but there are some scenarios to keep in mind:

                      • Both services listed for the "automation" portion of imports (Spectre and Nordigen/ seem to be most other countries, except the United States

                      • There doesn't seem to be an authentication gateway to prevent "public" access and your Personal Access Token is embedded in the .env file.

                      @girish, @nebulon or others might be able to provide more information if we can place the Cloudron Auth gateway similar to what is used for the Firefly App.

                      NOTE: This was a quick run at getting this up and running, so ensure you review your configuration properly.


                      Instructions for Installing the Data Importer Application

                      1. Install a fresh LAMP App from the Cloudron Store.

                        • I typically disable indexing via App > Security.
                      2. Open the file manager and open the PHP_VERSION file and change the value to PHP 8.2:

                      ; Set the desired PHP version in this file
                      ; Restart app for changes to take effect
                      PHP_VERSION=8.2
                      
                      1. Save your file and restart the LAMP App.
                      2. Launch the terminal and complete the following commands:
                      cd /app/data/
                      composer create-project firefly-iii/data-importer
                      
                      1. Stay in the Terminal and next you'll want to make sure the permissions are correct by running the following commands:
                      sudo chown -R www-data:www-data /app/data/data-importer
                      sudo chmod -R 775 /app/data/data-importer/storage
                      
                      1. Next, you're going to need to update your Apache configuration to point from the default /app/data/public/ folder to /app/data/data-importer/public/. Open /app/data/apache/app.conf and update the following lines:

                      FROM
                      Find the lines that have the previous public route of /app/data/public and change them to /app/data/data-importer/public.

                      • For good measure, I would disable phpMyAdmin also in the apache.conf file:
                        # Include "/app/code/apache/phpmyadmin.conf"
                      1. Restart the LAMP App

                      2. Launch the file manager and go to /app/data/data-importer and open the .env file and update the file as required.

                        • Sample .env: Link to copy of sample env. You can also find the values required to be changed below.
                        • Personal Access Token: You're going to need to generate a Personal Access Token from Firefly at: https://firefly.domain.tld/profile > OAUTH > Personal Token
                      FIREFLY_III_URL={https://firefly.domain.tld}
                      VANITY_URL={https://firefly.domain.tld}
                      FIREFLY_III_ACCESS_TOKEN={ACCESS-TOKEN}
                      AUTO_IMPORT_SECRET={GENERATED_SECRET}
                      TZ={America/New_York}
                      ENABLE_MAIL_REPORT=false
                      MAIL_DESTINATION={EMAIL-ADDRESS}
                      MAIL_FROM_ADDRESS=getenv('CLOUDRON_MAIL_FROM')
                      MAIL_HOST=getenv('CLOUDRON_MAIL_SMTP_SERVER')
                      MAIL_PORT=getenv('CLOUDRON_MAIL_SMTP_PORT') 
                      MAIL_USERNAME=getenv('CLOUDRON_MAIL_SMTP_USERNAME')
                      MAIL_PASSWORD=getenv('CLOUDRON_MAIL_SMTP_PASSWORD')
                      MAIL_ENCRYPTION=null
                      REDIS_HOST=getenv('CLOUDRON_REDIS_HOST')
                      REDIS_PASSWORD=etenv('CLOUDRON_REDIS_PASSWORD')
                      REDIS_PORT=getenv('CLOUDRON_REDIS_PORT')
                      
                      1. Restart the LAMP App and you can access the interface at: https://firefly-importer.domain.tld

                      If anyone has any feedback or sees that I missed anything please let me know.

                      Thanks!

                      C Offline
                      C Offline
                      cylon
                      wrote on last edited by
                      #11

                      @JLX89 said in Data Importer Tool:

                      1. Restart the LAMP App and you can access the interface at: https://firefly-importer.domain.tld

                      Many thanks for this, very helpful !
                      However after doing all this configuration, I cannot access to the data-importer at https://firefly-importer.{my-domain.tld} I have a DNS error.

                      I don't see in the .env where the URL is set ? Also, I guess I need to create manually add an entry to my DNS record for the firefly-importer sub domain ?

                      J 1 Reply Last reply
                      1
                      • C cylon

                        @JLX89 said in Data Importer Tool:

                        1. Restart the LAMP App and you can access the interface at: https://firefly-importer.domain.tld

                        Many thanks for this, very helpful !
                        However after doing all this configuration, I cannot access to the data-importer at https://firefly-importer.{my-domain.tld} I have a DNS error.

                        I don't see in the .env where the URL is set ? Also, I guess I need to create manually add an entry to my DNS record for the firefly-importer sub domain ?

                        J Offline
                        J Offline
                        JLX89
                        wrote on last edited by JLX89
                        #12

                        @cylon Did you update the app "public route" in your Apache configuration from /app/data/public to /app/data/data-importer/public and restart the app? You'll also want to double check the permissions:

                        sudo chown -R www-data:www-data /app/data/data-importer
                        sudo chmod -R 775 /app/data/data-importer/storage
                        

                        The DNS is handled by the LAMP app from the settings you chose when you deployed the app.

                        1 Reply Last reply
                        2
                        • C Offline
                          C Offline
                          cylon
                          wrote on last edited by cylon
                          #13

                          oh ok I thought I had to use https://firefly-importer.{my-domain.tld} but it actually is https://{my-lamp-subdomain}.{my-domain.tld} my bad

                          so it's actually working just fine 🙂 thx

                          J 1 Reply Last reply
                          2
                          • C cylon

                            oh ok I thought I had to use https://firefly-importer.{my-domain.tld} but it actually is https://{my-lamp-subdomain}.{my-domain.tld} my bad

                            so it's actually working just fine 🙂 thx

                            J Offline
                            J Offline
                            JLX89
                            wrote on last edited by
                            #14

                            @cylon Great to hear!

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              dadams-AU
                              wrote on last edited by
                              #15

                              hey - i tried to build this a couple of times. i keep getting a 403 apache error. any thoughts?

                              robiR J 2 Replies Last reply
                              1
                              • D dadams-AU

                                hey - i tried to build this a couple of times. i keep getting a 403 apache error. any thoughts?

                                robiR Offline
                                robiR Offline
                                robi
                                wrote on last edited by
                                #16

                                @dadams-AU fix your apache config?

                                Conscious tech

                                1 Reply Last reply
                                0
                                • D dadams-AU

                                  hey - i tried to build this a couple of times. i keep getting a 403 apache error. any thoughts?

                                  J Offline
                                  J Offline
                                  JLX89
                                  wrote on last edited by
                                  #17

                                  @dadams-AU More than likely along the lines of what @robi said.

                                  You'll need to retrace your steps and ensure you completed the configuration change in the public routes in /app/data/apache/app.conf and ensure that you set the permissions correctly using:

                                  sudo chown -R www-data:www-data /app/data/data-importer
                                  sudo chmod -R 775 /app/data/data-importer/storage
                                  

                                  If you haven't restarted the LAMP app, you'll need to do that before all of the previous settings work correctly.

                                  1 Reply Last reply
                                  1
                                  • J Offline
                                    J Offline
                                    jadsmrizk
                                    wrote on last edited by
                                    #18

                                    Hello all!
                                    I am following this tutorial but apparently, recent versions of the data importer tool require PHP 8.3 which isn't supported by the LAMP app. Any workarounds?

                                    Thank you

                                    1 Reply Last reply
                                    1
                                    • girishG Offline
                                      girishG Offline
                                      girish
                                      Staff
                                      wrote on last edited by
                                      #19

                                      @jadsmrizk The latest lamp app has 8.3 now

                                      1 Reply Last reply
                                      2
                                      • J Offline
                                        J Offline
                                        jadsmrizk
                                        wrote on last edited by
                                        #20

                                        @girish thank you. Will give it a try

                                        1 Reply Last reply
                                        0
                                        • nebulonN nebulon marked this topic as a question on
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • Bookmarks
                                        • Search