Data Importer Tool
-
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
-
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
-
Install a fresh LAMP App from the Cloudron Store.
- I typically disable indexing via App > Security.
-
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
- Save your file and restart the LAMP App.
- Launch the terminal and complete the following commands:
cd /app/data/ composer create-project firefly-iii/data-importer
- 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
- 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"
-
Restart the LAMP App
-
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')
- 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!
@JLX89 said in Data Importer Tool:
- 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 athttps://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 thefirefly-importer
sub domain ? -
-
@JLX89 said in Data Importer Tool:
- 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 athttps://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 thefirefly-importer
sub domain ?@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.
-
oh ok I thought I had to use
https://firefly-importer.{my-domain.tld}
but it actually ishttps://{my-lamp-subdomain}.{my-domain.tld}
my badso it's actually working just fine
thx
-
hey - i tried to build this a couple of times. i keep getting a 403 apache error. any thoughts?
@dadams-AU fix your apache config?
-
hey - i tried to build this a couple of times. i keep getting a 403 apache error. any thoughts?
@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.
-
N nebulon marked this topic as a question on